Virtualbox中收縮虛擬磁盤映像文件大小

以下是轉載
【轉帖】VirtualBox中收縮虛擬磁盤映像文件
2009-02-05 11:25
原文位於:[url]http://forum.ubuntu.org.cn/viewtopic.php?t=149508[/url]

由於經常要測試一些軟件,我在VirtualBox虛擬機中安裝了一套Windows。使用過虛擬機的朋友都知道,爲了節省硬盤空間,一般都使用動態擴展 映像。它不會在一開始就佔用指定大小的硬盤空間,而是隨着實際使用的需要動態擴展。但是在虛擬系統裏刪除了文件,使用過的空間並不會自動收回。虛擬系統使 用久了以後,磁盤映像文件會變得越來越大。



我以前使用過VMware,在VMware Tools裏有一個很方便的Shrink功能可以收回未使用的硬盤空間,但是在VirtualBox裏沒有看到這樣的選項。經過上網查找資料,終於找到了 在VirtualBox(我用的是2.0.0版)(本人測試是3.0.2版)裏Shrink的方法,只需要三個步驟:



第一步:在Guest OS中整理磁盤碎片。可以使用Windows自帶的碎片整理工具,不過更推薦使用Defraggler。這是一款免費的磁盤碎片整理工具,使用簡單,整理速度很快。

Defraggler下載地址:[url]http://www.defraggler.com/download[/url]
或[url]http://www.filehippo.com/download_defraggler/[/url]

第二步:將Guest OS的磁盤剩餘空間清零,也就是把0值寫入磁盤未使用空間的每一個字節。這一步是關鍵,因爲在下一步裏,所有隻包含0值的磁盤空間將被收回。可以用 Sysinternals出品的一個命令行工具SDelete來完成這一步。在Guest OS的命令行裏執行:
代碼:

sdelete -c c:\


其中c:\是要清零的磁盤分區,應依次對所有虛擬磁盤分區執行這一步,如d:\、e:\等等。

SDelete下載地址:[url]http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx[/url]


第三步:使用VirtualBox提供的VBoxManage工具收縮磁盤映像文件。在Host OS的命令行中進入VirtualBox的安裝目錄(缺省爲C:\Program Files\Sun\xVM VirtualBox),執行:
代碼:

VBoxManage modifyvdi 'Windows XP.vdi' compact
其中Windows XP.vdi是要收縮的磁盤映像文件名,請根據實際名稱修改,不用指定路徑。
在3.0.2版中該命令改爲:
VBoxManage modifyhd "/mnt/win_e/virtualbox/win2003.vdi" compact 由於本人文件不是在默認路徑,所以需要把路徑帶上。


經過這三個步驟以後,我的vdi文件從2.5G收縮到了1.2G,效果非常明顯。以上介紹的前兩個步驟所使用的工具是針對Windows的,如果Guest OS是Linux或其它系統,可以找一找相同功能的工具軟件,原理都是一樣的。
 
本人測試後發現實際收縮效果並不明顯!!!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章