減少VirtualBox虛擬硬盤文件的大小

 虛擬機使用久了就會發現虛擬硬盤愈來愈大,可是進入虛擬機裏的系統用命令看了下,實際佔用的空間遠沒有虛擬硬盤大小那麼大,這個讓人很不爽,並且在分享虛擬機鏡像的時候也很不方便。VirtualBox彷佛沒有提供圖形界面的方式可讓咱們來壓縮虛擬硬盤大小,可是能夠經過命令行來實現。通過實際測試,個人一個30多G的虛擬硬盤能夠壓縮到13G大小,可見效果仍是很是顯著的,這個能夠壓縮的空間取決於你虛擬機內真實的空間佔用大小。shell

 

VirtualBox同時支持本身的虛擬硬盤格式VDI和Vmware的VMDK格式,兩種格式的壓縮略有不一樣。ui

1. 碎片整理

第一步要作的是碎片整理,打開虛擬機,執行下面的命令:spa

Linux系統:.net

1
2
sudo  dd  if = /dev/zero  of= /EMPTY  bs=1M
sudo  rm  -f  /EMPTY

 

Windows系統須要下載Sysinternals Suite並執行:命令行

1
sdelete –z

 

2. 壓縮磁盤

關閉虛擬機,如今能夠開始壓縮虛擬硬盤了code

若是你的虛擬硬盤是VirtualBox本身的VDI格式,找到你的虛擬硬盤文件,執行命令:orm

1
VBoxManage modifyhd mydisk.vdi --compact

 

若是你的虛擬硬盤是Vmware的VMDK格式,那就要麻煩點,由於VirtualBox不支持直接壓縮VMDK格式,可是能夠變通下:先轉換成VDI並壓縮,再轉回VMDK。執行命令:blog

1
2
3
VBoxManage clonehd  "source.vmdk"  "cloned.vdi"  -- format  vdi
VBoxManage modifyhd cloned.vdi --compact
VBoxManage clonehd  "cloned.vdi"  "compressed.vmdk"  -- format  vmdk

 

事實上,執行命令的過程當中能夠發現:在從VMDK轉換到VDI的過程當中彷佛已經作了壓縮,文件大小已經減小了不少,第二條命令反而沒見到文件大小有什麼變化,因此這裏第二條命令應該能夠省略了。ci

參考:
http://my.oschina.net/tsl0922/blog/188276
相關文章
相關標籤/搜索