VirtualBox最早由德國InnoTek軟件公司出品,在2007年1月InnoTek公司以GPL發(fā)布VirtualBox,從而VirtualBox成為自由軟件。同時還公開二進制文件和源代碼。
2008年2月,InnoTek被Sun收購。
2010年1月,Sun被Oracle收購。
VirtualBox和VmWare成了兄弟。但愿VmWare不要欺負VB~
VirtualBox在創(chuàng)建虛擬磁盤時可以選擇動態(tài)擴展和固定大小兩種方式,然后設定磁盤空間大小。
其中 動態(tài)擴展 類型最初只需占用非常小的物理硬盤空間。然后不斷增加(最大到當前指定的大小),具體大小根據(jù)虛擬電腦的實際需求動態(tài)分配。
其中 固定大小 類型一旦建立就需分配指定大小的物理磁盤空間給該虛擬硬盤使用,性能上有一定優(yōu)勢。建立這種類型的虛擬硬盤需花費較多的時間.
當動態(tài)擴展方式達到上限時,怎么辦呢?目前VirtualBox沒有提供修改動態(tài)擴展磁盤大小的方式。只能新建一塊更大的虛擬磁盤,然后將原來的復制到新磁盤里去。具體到如何復制,可以在宿主機上操作,也可以在虛擬機里操作。
在虛擬機里操作,就要將這兩塊虛擬盤都掛載上,再掛載一個系統(tǒng),通過這個系統(tǒng)將舊盤復制到新盤。這個系統(tǒng)可以是Linux Live CD,也可以是Linux系統(tǒng),亦可以是Windows PE。
進入Linux系統(tǒng)的話,使用gparted進行磁盤復制。
使用Windows PE 進入Windows,用Ghost進行disk to disk 復制。
這兩種方式都比較麻煩,在宿主機上操作就簡單的多,可以直接使用VirtualBox提供的命令行工具vboxmanage進行磁盤克隆。
假設一開始創(chuàng)建的新的虛擬磁盤名稱為windowsxp,使用clonehd子命令將原先的虛擬磁盤文件復制到新的虛擬磁盤文件里去,注意existing參數(shù)表示復制到一個已存在的虛擬磁盤而不是新建:
$ cd ~/.VirtualBox/HardDisks$ vboxmanage clonehd /media/amoblin1/windowsxpsp2.vdi windowsxp.vdi --existingOracle VM VirtualBox Command Line Management Interface Version 3.2.8_OSE(C) 2005-2010 Oracle CorporationAll rights reserved.0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%Clone hard disk created in format 'VDI'. UUID: cd2f1f19-9361-492c-a9f2-4917d8b92ea6
注意這里的參數(shù)是虛擬磁盤磁盤文件的路徑,默認創(chuàng)建的虛擬磁盤文件存放在用戶主目錄下.VirtualBox/HardDisks目錄下,如果使用此目錄下的磁盤文件,可以省略前面的路徑名。當然也可以使用UUID。
執(zhí)行上述操作前必須保證任何一個虛擬磁盤都不在運行狀態(tài)或休眠狀態(tài),否則會出現(xiàn)類似下面的錯誤:
ERROR: Failed to lock source media '/home/amoblin/.VirtualBox/HardDisks/windowsxp.vdi'Details: code VBOX_E_INVALID_OBJECT_STATE (0x80bb0007), component Medium, interface IMedium, callee nsISupportsContext: "CloneTo(dstDisk, DiskVariant, NULL, progress.asOutParam())" at line 693 of file VBoxManageDisk.cpp
好了,現(xiàn)在掛載新的虛擬磁盤啟動。如果是Windows的話,在我的電腦里,右鍵屬性可以看到多出來了未指派空間。這說明更改成功。
但這些空間還“未指派”,接下來通過分區(qū)管理工具來擴展一下磁盤大小就可以了。
比如使用Linux Live USB啟動,進入Live Linux系統(tǒng),用Gparted來resize磁盤大小。
vboxmanage是一個很有用的工具,使用它還可以對vdi文件進行壓縮。
$ vboxmanage modifyhd windowsxp.vdi --compact
同一個vb軟件里不可直接復制vdi文件再次使用,若要將vdi文件復制重用:
$ vboxmanage clonehd old.vdi new.vdi
ps: 老版本的VB使用clonevdi參數(shù),新版本改用clonehd。
聯(lián)系客服