收缩VirtualBox虚拟硬盘文件的大小

VirtualBox虚拟机使用时间长了会逐渐增大,一般台式机现在都是好几个T的没啥问题。笔记本硬盘比较小的情况,占用多了是个麻烦事情。

想到的第一方法就是删除快照,第二个就是减肥。有些快照不能删恢复需要,空间还不够就只能减肥。

处理方法:
1、SDelete 整理虚拟机释放空间
2、VBoxManage 压缩VDI文件

命令:
sdelete64.exe -z c:\
VBoxManage modifyhd XXX.vdi --compact

1、SDelete 整理虚拟机释放空间

SDelete是个微软提供Sysinternals Suite套内的一个工具,可以对Windows进行整理和压缩。

SDelete工具下载
(SDelete) https://docs.microsoft.com/zh-cn/sysinternals/downloads/sdelete
(Sysinternals Suite) https://docs.microsoft.com/zh-cn/sysinternals/downloads/sysinternals-suite

直接下载 SDelete工具就能用,压缩包里有x86和x64两个exe。在CMD下执行压缩

命令: 释放c盘空的磁盘空间
sdelete64.exe -z c:\

我的虚拟机只有一个c盘,所以执行一次就搞定。参数-z这个感觉就是为虚拟机准备的。

c:\> sdelete64.exe /?
...
    -z         Zero free space (good for virtual disk optimization)
...

这步处理完,再用VBox的工具效果就比较好。

注 : 使用这个命令会搬动零碎文件释放空间,实际会让虚拟机文件VDI文件变大。

2、压缩VDI

命令:
VBoxManage modifyhd XXX.vdi --compact

如果虚拟机有快照,需要可以对所有,快照没有执行过SDelete实际压缩率不会很大。

虚拟机目录下有三个VDI文件,压缩一下空出了30G。

moguf_mac:~ moguf$ cd ~/VirtualBox\ VMs/win7dev2010/
moguf_mac:win7dev2010 moguf$ ll
total 15538016
drwxr-xr-x  8 moguf  staff         256  4 28 09:10 ./
drwxr-xr-x  4 moguf  staff         128  4 28 00:33 ../
-rw-r--r--@ 1 moguf  staff       10244  4 28 00:45 .DS_Store
drwx------  6 moguf  staff         192  4 28 09:10 Logs/
drwx------  5 moguf  staff         160  4 27 23:40 Snapshots/
-rw-------  1 moguf  staff       25764  4 28 09:10 win7dev2010.vbox
-rw-------  1 moguf  staff       25764  4 28 00:55 win7dev2010.vbox-prev
-rw-------  1 moguf  staff  7956594688  4 28 01:02 win7dev2010.vdi
moguf_mac:win7dev2010 moguf$ cd Snapshots/
moguf_mac:Snapshots moguf$ ll
total 264000424
drwx------  5 moguf  staff           160  4 27 23:40 ./
drwxr-xr-x  8 moguf  staff           256  4 28 09:10 ../
-rw-------  1 moguf  staff     400970291 11 13 10:34 2018-11-13T02-34-43-708984000Z.sav
-rw-------  1 moguf  staff  116380401664  4 28 01:05 {ecbbf165-edfc-446e-b81a-2f579efe23f7}.vdi
-rw-------  1 moguf  staff   18379440128  4 28 09:30 {ff7fe280-57b9-428b-831c-1cc429ebcbdd}.vdi
moguf_mac:Snapshots moguf$

有个快照100G多处理不了。删除镜像错误,重建虚拟机没硬盘空间 Orz 。只能另想办法干掉镜像文件。

用上面的命令能空出30G也是不错的,原来只有10G的空间一下子就变成40G还算是有收获的。

总结:虚拟机内部必须整理碎片空间,否则用VBox自带的压缩效用不大(如快照文件)。

END蘑菇房