擴充套件VirtualBox虛擬機器磁碟容量

dawn009發表於2014-05-23

1.      在cmd命令列下進入VirtualBox的安裝目錄,使用“VBoxManage list hdds”命令,找到需要修改磁碟容量的虛擬機器的img路徑或UUID:


[python] view plaincopy
  1. D:\Program Files\Oracle\VirtualBox>VBoxManage list hdds  
  2. UUID:       4a43ca85-2d4b-4fca-919f-3bc0c1f6b307  
  3. Parent UUID: base  
  4. Format:      VDI  
  5. Location:   E:\CentOS.vdi  
  6. State:       created  
  7. Type:        normal  
  8. Usage:       CentOS(UUID: e9245daf-24a2-4ef1-9b0e-b0419d3cc739)  


2.      修改虛擬機器的磁碟空間


[python] view plaincopy
  1. D:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd"E:\CentOS.vdi" –resize 20480  
  2. 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%  


"E:\CentOS.vdi"是需要修改的虛擬機器路徑,改為其UUID號也正確,20480是修改後的大小,單位為M,20480M=20G

3.      讓虛擬機器上CentOS知道磁碟容量已經增加

使用工具GParted,點選下載ISO映象

在VirtualBox光碟機中載入下載的gparted-live-0.16.1-1-amd64.iso映象,設定為第一順序啟動

啟動虛擬機器CentOS進入GParted,雙擊桌面“GParted”即可看到有磁碟空間為未分配狀態,點選“分割槽”→“新建”,選擇“主分割槽”、“ext4”,再點選“Apply”,此時可看到新的分割槽/dev/sda4

4.      關閉GParted,在VirtualBox設定中將gparted-live-0.16.1-1-amd64.iso映象解除安裝,再啟動CentOS,進入CentOS系統

注意:進入系統後可能提示“”,這是由於系統使用者空間不足造成的,此時不要使用普通使用者登入,改用root使用者登入,在root下修改使用者空間磁碟容量;root使用者登入後系統可能沒有任何介面,此時可用ssh遠端連線進行操作

5.      在CentOS終端中擴充套件邏輯分割槽(標粗體的vg_wsgzg需要更改為自己系統的名稱,透過df –h –T可檢視)

a.  使用“su –”切換到root使用者(使用root使用者登入省略)

b.  執行lvm pvcreate/dev/sda4


[python] view plaincopy
  1. [root@localhost ~]# lvm pvcreate /dev/sda4  
  2.  Physical volume "/dev/sda4" successfully created  
  3. [root@localhost ~]# df -h -T  
  4. 檔案系統    型別      容量  已用  可用 已用%% 掛載點  
  5. /dev/mapper/vg_wsgzg-lv_root  
  6.               ext4     13G  13G     0 100% /  


c.  執行lvmvgextend "vg_wsgzg" /dev/sda4新增/dev/sda4到卷組vg_wsgzg


[python] view plaincopy
  1. [root@localhost ~]# lvm vgextend "vg_wsgzg" /dev/sda4  
  2.  Volume group "vg_wsgzg" successfully extended  


d.  執行lvresize -l+100%FREE /dev/mapper/vg_wsgzg-lv_root,擴充套件卷組vg_wsgzg下的lv_root卷組


[python] view plaincopy
  1. [root@localhost ~]# lvresize -l +100%FREE /dev/mapper/vg_wsgzg-lv_root  
  2.  Extending logical volume lv_root to 17.53 GiB  
  3.  Logical volume lv_root successfully resized  


e.  執行resize2fs/dev/mapper/vg_wsgzg-lv_root重新設定檔案系統


[python] view plaincopy
  1. [root@localhost ~]# resize2fs /dev/mapper/vg_wsgzg-lv_root  
  2.    resize2fs1.41.12 (17-May-2010)  
  3.    Filesystemat /dev/mapper/vg_wsgzg-lv_root is mounted on /; on-line resizing required  
  4.    olddesc_blocks = 1, new_desc_blocks = 2  
  5.    Performingan on-line resize of /dev/mapper/vg_wsgzg-lv_root to 4595712 (4k) blocks.  
  6.    Thefilesystem on /dev/mapper/vg_wsgzg-lv_root is now 4595712 blocks long.  


f.  執行df -h -T驗證擴充套件磁碟容量


[python] view plaincopy
  1. [root@localhost ~]# df -h -T  
  2.    檔案系統    型別      容量  已用  可用 已用%% 掛載點  
  3.    /dev/mapper/vg_wsgzg-lv_root  
  4.               ext4     18G  13G  4.8G  73% /  


6.      重啟CentOS,磁碟容量擴充套件成功

-------------------------------------&gt>使用VirtualBox自帶管理工具命令為虛擬磁碟擴充套件空間
VirtualBox虛擬磁碟空間不夠了,預設10G。想擴大,圖形介面下沒有找到可操作選單。Google了一下用 Vbox自帶的命令工具VBoxManage即可解決。


C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd e:\vbox\Ubuntu12.04\Ubuntu1204-201302-disk1.vmdk --resize 30000
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage.exe: error: Resize hard disk operation for this format is not implemented yet!


原來虛擬機器用的是vmdk格式,這個命令只能支援vdi格式。怎麼辦


發現可以利用VBoxManager來轉化虛擬硬碟儲存檔案格式
C:\Program Files\Oracle\VirtualBox>VBoxManage clonehd e:\vbox\Ubuntu12.04\Ubuntu1204-201302-disk1.vmdk  e:\vbox\Ubuntu12.04\Ubuntu1204-201310-disk1.vdi --format VDI
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: 455b7aa4-d776-4254-8353-d9b5b3fa1
09b


最後用VBoxManager對轉好的vdi檔案進行擴容設定
C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd e:\vbox\Ubuntu12.04\Ubunt
u1204-201310-disk1.vdi --resize 30000
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%


大功告成,要將新的虛擬硬碟(vdi)掛載到虛擬機器上了。


開啟虛擬機器設定,找到儲存,點選虛擬硬碟所在的控制器,點“新增虛擬硬碟”->選"使用現有的虛擬盤"->選中擴容後的vdi檔案,確定後就看見控制器下多了一個硬碟圖示,檢視容量29.30G。
刪除原來的vmdk虛擬盤。確定儲存配置。大功告成!!


別忙,還有一部。
啟動虛擬機器後,還要使用GParted - Gnome Partition Editor這個工具,將新擴充套件的分割槽進行初始化,否則系統還是不會認出新擴充套件的空間的。
Ubuntu中可用 sudo apt-get install gparted來安裝。工具是圖形化介面的。好用。設定好後要點選單“編輯”->“應用全部操作”,系統才開始執行擴充套件磁碟的初始化。


Gnome Partition Editor 官網地址:


多嘴一句
將原來的vid虛擬硬碟資料複製到新的vid硬碟,示例:


舊vdi —> 新vdi
C:\Program Files\Oracle\VirtualBox\VBoxManage.exe  clonevdi  E:\vbox\server2003\win2003.vdi  E:\vbox\server2003\server2003.vdi" --existing
--------------------------------------&gt>上面操作的補充:

1.在cmd命令列下進入VirtualBox的安裝目錄,使用“VBoxManage list hdds”命令,找到需要修改磁碟容量的虛擬機器的img路徑或UUID:

D:\Program Files\\VirtualBox>VBoxManage list hdds
UUID:      4a43ca85-2d4b-4fca-919f-3bc0c1f6b307
Parent UUID: base
Format:      VDI
Location:  E:\.vdi
State:      created
Type:        normal
Usage:      CentOS(UUID: e9245daf-24a2-4ef1-9b0e-b0419d3cc739)

2.修改虛擬機器的磁碟空間

D:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd"E:\CentOS.vdi" –resize 20480
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

3. 讓虛擬機器上CentOS知道磁碟容量已經增加

使用工具GParted,點選下載ISO映象

在VirtualBox光碟機中載入下載的gparted-live-0.16.1-1-amd64.iso映象,設定為第一順序啟動

啟動虛擬機器CentOS進入GParted,雙擊桌面“GParted”即可看到有磁碟空間為未分配狀態,點選“分割槽”→“新建”,選擇“主分割槽”、“ext4”,再點選“Apply”,此時可看到新的分割槽/dev/sda4

4. 關閉GParted,在VirtualBox設定中將gparted-live-0.16.1-1-amd64.iso映象解除安裝,再啟動CentOS,進入CentOS系統

注意:進入系統後可能提示“沒有正確安裝GNOME電源管理器的預設配置”,這是由於系統使用者空間不足造成的,此時不要使用普通使用者登入,改用root使用者登入,在root下修改使用者空間磁碟容量;root使用者登入後系統可能沒有任何介面,此時可用ssh遠端連線進行操作

5. 在CentOS終端中擴充套件邏輯分割槽(標粗體的vg_wsgzg需要更改為自己系統的名稱,透過df –h –T可檢視)

a. 使用“su –”切換到root使用者(使用root使用者登入省略)

b. 執行lvm pvcreate/dev/sda4

[root@localhost ~]# lvm pvcreate /dev/sda4
 Physical volume "/dev/sda4" successfully created
[root@localhost ~]# df -h -T
檔案系統    型別      容量  已用  可用 已用%% 掛載點
/dev/mapper/vg_wsgzg-lv_root
              ext4    13G  13G    0 100% /

c.  執行lvmvgextend "vg_wsgzg" /dev/sda4新增/dev/sda4到卷組vg_wsgzg

[root@localhost ~]# lvm vgextend "vg_wsgzg" /dev/sda4
 Volume group "vg_wsgzg" successfully extended

d. 執行lvresize -l+100%FREE /dev/mapper/vg_wsgzg-lv_root,擴充套件卷組vg_wsgzg下的lv_root卷組

[root@localhost ~]# lvresize -l +100%FREE /dev/mapper/vg_wsgzg-lv_root
 Extending logical volume lv_root to 17.53 GiB
 Logical volume lv_root successfully resized

e. 執行resize2fs/dev/mapper/vg_wsgzg-lv_root重新設定檔案系統

[root@localhost ~]# resize2fs /dev/mapper/vg_wsgzg-lv_root
  resize2fs1.41.12 (17-May-2010)
  Filesystemat /dev/mapper/vg_wsgzg-lv_root is mounted on /; on-line resizing required
  olddesc_blocks = 1, new_desc_blocks = 2
  Performingan on-line resize of /dev/mapper/vg_wsgzg-lv_root to 4595712 (4k) blocks.
  Thefilesystem on /dev/mapper/vg_wsgzg-lv_root is now 4595712 blocks long.

f. 執行df -h -T驗證擴充套件磁碟容量

[root@localhost ~]# df -h -T
  檔案系統    型別      容量  已用  可用 已用%% 掛載點
  /dev/mapper/vg_wsgzg-lv_root
              ext4    18G  13G  4.8G  73% /

6. 重啟CentOS,磁碟容量擴充套件成功

推薦閱讀:

在  12.10 中使用 Virtualbox 安裝 Win7 

Ubuntu中用VirtualBox虛擬機器安裝Windows XP完整圖解 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29119536/viewspace-1168558/,如需轉載,請註明出處,否則將追究法律責任。

相關文章