Virtualbox虛擬Ubuntu系統擴充套件磁碟分割槽
背景
Virtualbox建立Ubuntu虛擬機器時,磁碟空間預設只有8Gb,磁碟空間很快就不夠用了。本文介紹一種動態擴充套件磁碟空間的方式,將磁碟空間擴充套件到50Gb,並保留已有資料不被破壞。
分割槽擴充套件步驟
- 1,虛擬機器關機,WIN+R進入cmd,進入VirtualBox目錄,執行
VBoxManage list hdds
檢視當虛擬機器映象列表;獲取ubuntu.vdi的UUID。
- 2,修改ubuntu.vdi的磁碟空間
-- 擴充套件磁碟空間為50G
VBoxManage modifyhd 26e60d1a-dd53-44b8-964e-2f08da993a21 --resize 51200
- 3,虛擬機器開機,檢視磁碟分割槽情況
$ df -ah -- 仍然是8G,沒有增多
4,磁碟分割槽
sudo fdisk /dev/sda
,輸入p檢視分割槽情況
/dev/sda4是新增分割槽後的結果。輸入n 新增分割槽,選擇p (primary分割槽)。d刪除分割槽,選擇 3(sda3磁碟空間太小不想要)。fdisk命令不做詳細解釋。5,格式化分割槽,並掛載分割槽
$ sudo mkfs -t ext4 /dev/sda4
$ sudo mount /dev/sda4 /home/lvley/soft
-- 開機自動掛載,在/etc/fstab中新增
/dev/sda4 /home/lvley/soft ext4 defaults 0 1
分割槽擴充套件完畢。
分割槽擴充套件中遇到的問題
1,磁碟擴充套件到50GB,分配sda3時只分配了1024KB。sda4才分配到42G。
如上圖所示,sda1的End和sda2的Start並不連續,分配sda3時系統自動使用該區域的空間,給sda3指定+40G會報錯out of range。新建sda3之後,彌補了磁碟空間的空隙,再分配sda4時會從sd2的End開始分配sda剩餘的42G空間。
2,磁碟掛載過程導致
第一次嘗試 將 sda4掛載到根目錄。會導致ubuntu無法進入圖形介面,進入root的恢復模式。新掛載的分割槽是空的,沒有啟動的資訊。嘗試還原/etc/fstab發現無法儲存寫入,root使用者也不行,檢視檔案許可權root使用者是有寫許可權的。google發現,mount的裝置本來是不能寫入的,即使root使用者具有許可權也無法寫入。使用以下命令
mount -o remount,rw /
再次啟動,能看到圖形介面。但是正確的賬號和密碼無法登陸,guest使用者可以進入系統。可能和之前掛載根目錄一樣,某些資訊丟失或者環境變數導致。shift+alt+f1進入終端,發現賬號密碼可以登陸。嘗試還原掛載,在/home/lvley下新建soft目錄,將sda掛載到該目錄下。至此終於達到想要的目的。
延伸的問題
1,如何檢視linux目錄使用情況?
du -h --max-depth=1 work/testing
2,如何檢視分割槽的uuid列表?
blkid
ls -l /dev/disk/by-uuid
3,能否修改分割槽的起始邊界?如果可以,怎麼修改?
待確認。