减少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
相关文章
相关标签/搜索