virtualbox虚拟机运行久了之后就会发现,磁盘镜像vdi文件越来越大。即使你把虚拟机中的大文件删除,这个vdi文件占用的空间还是不变。也就是说动态扩展的vdi文件只会大,不会小。那么大的文件对于备份和分享都不是很方便,所以有必要的时候可以进行压缩处理。virtualbox界面没有提供图形界面的方式可以让我们来压缩虚拟硬盘大小,不过幸好可以通过命令来解决。主要分碎片整理和压缩两步。
1.虚拟机碎片整理
第一步要做的是碎片整理,打开虚拟机,执行下面的命令:
sudo dd if=/dev/zero of=/free bs=1M
sudo rm -f /free
如果是windows,那么可以下载Sysinternals Suite并执行sdelete –z即可。这个没试过。
2.压缩磁盘
关闭虚拟机,打开本机的cmd,然后通过vboxmanage modifyhd中的–compact来进行,例如:
(cd到虚拟机软件路径)
cd C:\Program Files\Oracle\VirtualBox
powershell
.\VBoxManage.exe modifyhd --compact 'C:\路径\ubt1804.vdi'
实际测试我的一个50G的文件压缩成只有15G,效果还是蛮明显的。
虚拟机.vdi 位置如图查看