如何减小VirtualBox虚拟硬盘文件的大小
博客专区 > tsl0922 的博客 > 博客详情
如何减小VirtualBox虚拟硬盘文件的大小
tsl0922 发表于4年前
如何减小VirtualBox虚拟硬盘文件的大小
  • 发表于 4年前
  • 阅读 8356
  • 收藏 19
  • 点赞 5
  • 评论 1

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: 虚拟机使用久了就会发现虚拟硬盘越来越大,但是进入虚拟机里的系统用命令看了下,实际占用的空间远没有虚拟硬盘大小那么大,这个让人很不爽,而且在分享虚拟机镜像的时候也很不方便。VirtualBox似乎没有提供图形界面的方式可以让我们来压缩虚拟硬盘大小,但是可以通过命令行来实现。经过实际测试,我的一个30多G的虚拟硬盘可以压缩到13G大小,可见效果还是非常显著的,这个可以压缩的空间取决于你虚拟机内真实的空间占用大小。

VirtualBox同时支持自己的虚拟硬盘格式VDI和Vmware的VMDK格式,两种格式的压缩略有不同。

1. 碎片整理

第一步要做的是碎片整理,打开虚拟机,执行下面的命令:

Linux系统:

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

Windows系统需要下载Sysinternals Suite并执行:

sdelete –z

2. 压缩磁盘

关闭虚拟机,现在可以开始压缩虚拟硬盘了

如果你的虚拟硬盘是VirtualBox自己的VDI格式,找到你的虚拟硬盘文件,执行命令:

VBoxManage modifyhd mydisk.vdi --compact

如果你的虚拟硬盘是Vmware的VMDK格式,那就要麻烦点,因为VirtualBox不支持直接压缩VMDK格式,但是可以变通下:先转换成VDI并压缩,再转回VMDK。执行命令:

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

事实上,执行命令的过程中可以发现:在从VMDK转换到VDI的过程中似乎已经做了压缩,文件大小已经减少了很多,第二条命令反而没见到文件大小有什么变化,所以这里第二条命令应该可以省略了。

VMDK 的压缩,也可以使用 vmware-vdiskmanager,只需要一条命令(参考):

vmware-vdiskmanager -k disk.vmdk
共有 人打赏支持
tsl0922
粉丝 260
博文 26
码字总数 11714
作品 1
评论 (1)
慧心石
如果有多个分区需要到每个分区下执行一下
sudo dd if=/dev/zero of=/EMPTY
sudo rm -f /EMPTY
然后再压缩, 效果非常明显. 感谢
×
tsl0922
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: