前段时间在vmware下面安装了ubuntu镜像,用了一段时间后发现ubuntu的vmdk文件越来越大,达到了31.6GB。而且随着继续安装新的软件仍然在增大中,即使在ubuntu里面删除了文件仍然在windows主机中占用那么大的空间。但是在ubuntu下通过命令df -h查看,获取到的硬盘占用空间并没有那么大,非常的奇怪。
网上查询了资料,网上的说法是:“虚拟机上的Linux等系统认为.vmdk是一个硬盘,将文件删除后其可用空间可以恢复,重新利用;而对windos系统来说.vmdk是一个文件其变大后是不可能自动变小的。 针对以上原理,已变大的.vmdk文件是无法减肥的,即使你将所有数据删除,此文件依占用windows的硬盘空间仍然不会改变。”
网上针对vmdk文件越来越大的问题给出了数种解决方法。
第一种方法是压缩磁盘。使用命令vmware-toolbox-cmd disk shrinkonly压缩磁盘,。但我压缩后vmdk文件只是从31.6GB变成了31.5GB,感觉效果不明显。
第二种方法是在vmware的安装目录下,执行其中的vmware-vdiskmanager程序。 比如我的vmdk文件路径是在D:\ubuntu64\ubuntu64下, 则用命令提示符执行vmware-vdiskmanager.exe -k "D:\ubuntu64\ubuntu64\Ubuntu 64 .vmdk"。但我执行完后占用空间没有发生变化。
第三种方法是“创建一个新的克隆”,然后删除旧的文件夹。这种方法我试过也是没用的。
之后我试过多种方法也没有用。没办法,只能暂时放任vmdk文件越来越大了。因为vmdk文件在windows的D盘,如果之后它比整个D盘要大,那我只能在windows下装个“分区助手”调整D盘的大小了。如果各位有好的方法欢迎一起探讨。
最近又遇到这个问题,终于找到了解决方法,执行命令:
sudo /usr/bin/vmware-toolbox-cmd disk list # 查看磁盘挂载点,然后执行
sudo /usr/bin/vmware-toolbox-cmd disk shrink /
即可解决。