admin管理员组

文章数量:1594223

首先声明这个操作可能会导致磁盘大量写入,SSD 盘的话如果在意写入量的话除非必要最好不要经常压缩。另外机械硬盘的话可能会用很长的时间。另外用这个方法应该会导致虚拟机里的已经删除的文件无法通过文件恢复软件恢复。还有就是如果虚拟机里的已用空间相对 vmdk 文件的大小相差不大的话应该是压缩不了多少的。

然后先讲一下原理。原理大概是先用 wipe 子命令将硬盘的剩余空间全部填充为空白,然后再用 shrinkonly 子命令压缩 vmdk 文件。我一部分好像是猜出来的,详情请看这个文档:https://www.vmware/pdf/vmware-tools-cli.pdf。具体在“Shrink a Virtual Disk”那节。

然后是具体的操作。假设某个 vmdk 上有 C 盘、D 盘、E 盘三个分区。自己也可以用 VMwareToolboxCmd.exe disk list 看一下有哪些分区。我猜应该是和在资源管理器里看到的硬盘是一样的。

先在虚拟机里启动 cmd,然后定位到 C:\Program Files\VMware\VMware Tools\ 。然后运行以下命令:

VMwareToolboxCmd.exe disk wipe C:\
VMwareToolboxCmd.exe disk wipe D:\
VMwareToolboxCmd.exe disk wipe E:\
VMwareToolboxCmd.exe disk shrinkonly

注意前三条命令会在虚拟机内部执行,第四条执行的时候虚拟机会出现那个暂停或者复制大文件的时候出现的那个黑屏读条界面。这里再说一下那个 shrinkonly&#x

本文标签: 虚拟机方法PlayerVMwareWindows