虛擬機使用久了就會發現虛擬硬盤愈來愈大,可是進入虛擬機裏的系統用命令看了下,實際佔用的空間遠沒有虛擬硬盤大小那麼大,這個讓人很不爽,並且在分享虛擬機鏡像的時候也很不方便。VirtualBox彷佛沒有提供圖形界面的方式可讓咱們來壓縮虛擬硬盤大小,可是能夠經過命令行來實現。通過實際測試,個人一個30多G的虛擬硬盤能夠壓縮到13G大小,可見效果仍是很是顯著的,這個能夠壓縮的空間取決於你虛擬機內真實的空間佔用大小。shell
VirtualBox同時支持本身的虛擬硬盤格式VDI和Vmware的VMDK格式,兩種格式的壓縮略有不一樣。ui
第一步要作的是碎片整理,打開虛擬機,執行下面的命令:spa
Linux系統:.net
1
2
|
sudo
dd
if
=
/dev/zero
of=
/EMPTY
bs=1M
sudo
rm
-f
/EMPTY
|
Windows系統須要下載Sysinternals Suite並執行:命令行
1
|
sdelete –z
|
關閉虛擬機,如今能夠開始壓縮虛擬硬盤了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