問題和環境說明
環境:
- 主機:Ubuntu 15.10
- 客戶機:Windows 7 x64
- VirtualBox:5.0.10
- 虛擬機磁盤類型:VDI(VirtualBox磁盤映像)
問題:
在虛擬機里,win7系統C盤空間不足,且虛擬機的磁盤映像為動態磁盤映像VDI,可以后期修改磁盤大小,問題是如何擴大原本的磁盤文件?
簡要步驟
- 如果原先的磁盤文件為VMDK格式的,則需要使用VBox管理工具轉換為VDI格式
- 使用VBox管理工具調整磁盤大小,以便后面的分區擴容
- 使用GParted工具修改文件系統,將空閑的空間分配給磁盤分區
詳細步驟
-
查看虛擬機的磁盤的文件格式,如果不是*.vdi,則將磁盤格式從*.vmdk轉為*.vdi。打開Ubuntu終端,進入VBox磁盤文件所在文件夾
說明:虛擬機所在的磁盤文件位置查看方式為設置-存儲下的明細位置,因為我的系統之前是做了快照,所以不僅在明細位置存在一個*.vdi文件,而且在磁盤文件所在目錄下的Snapshots文件夾也存在多個備份的*.vdi文件,我修改的是位於Snapshots目錄下最新的*.vdi文件
$ cd VirtualBox\ VMs/win7_linux/Snapshots/ $ VBoxManage clonehd --format VDI "vmdk磁盤文件名" "要創建的vdi文件名" -
重新調整文件大小,打開終端進行*.vdi文件所在目錄。例如,調整磁盤文件大小為60GB,即61440MB
$ VBoxManage modifyhd "vdi文件名" --resize 61440 -
對於原先磁盤文件格式為vmdk的,則需要重新設置虛擬機的磁盤位置,將其路徑改為新創建的磁盤文件*.vdi。虛擬機-設置-存儲-控制器:SATA-右鍵*.vmdk文件-刪除盤片-添加虛擬硬盤-選擇你最新創建的*.vdi文件
-
到http://gparted.sourceforge.net/download.php下載"gparted-live-x.xx.x-x-ixxx.iso"文件,並且將其iso文件加載到虛擬機的光驅。虛擬機-設置-存儲-控制器-添加最新下載的*.iso文件
-
運行虛擬機,虛擬機將會從光驅文件啟動。一直選擇Enter直到進入GPart系統桌面。啟動gpart程序,默認是開機自啟動的
-
按照下面的方法擴展分區:
- 選擇你要擴容的分區,右鍵點擊Move/Resize

- 簡單的可以直接拖動上面的滑動塊,將右邊的所有空閑分區分配給當前分區。
- 靈活地,可以調整下面的數字,第一個為前面要空閑的大小,中間為新的分區大小,后面為新分區后面空閑分區大小。

- 點擊上面工具欄的Apply按鈕
- 關閉虛擬機,並將*.iso光驅文件移除
- 重新打開虛擬機,如果你的客戶機為win7系統,則直接進入win7系統,系統會自動識別新增的分區,並且在自動合並后重啟;否則進行第7步
-
如果客戶機為Linux系統則需要手動合並新分區
- lvm vgdisplay
$ lvm vgdisplay => Free PE / Size 122880 / 480.00 GiB- lvm lvdisplay
$ lvm lvdisplay /dev/VolGroup/lv_root => Current LE 3978-
計算上面值的和,此時,122880 + 3978 = 126858,126858將會在下一條命令中用到
-
lvm lvresize
$ lvm lvresize -l 126858 /dev/VolGroup/lv_root- resize2fs
$ resize2fs /dev/VolGroup/lv_root- lsblk
$ lsblk ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom sda 8:0 0 500G 0 disk +¦sda1 8:1 0 500M 0 part /boot L¦sda2 8:2 0 499.5G 0 part +¦VolGroup-lv_root (dm-0) 253:0 0 480G 0 lvm / L¦VolGroup-lv_swap (dm-1) 253:1 0 4G 0 lvm [SWAP] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 通過創建一個大的文件檢查文件系統是否擴容成功
$ fallocate -l 480G /test_file- 移除測試文件
$ rm -rif /test_file
