Windows 下 VMware 虚拟机的 vmdk 文件的压缩
2023年05月13日 19:38:03 VMware ⁄ 共 997字 评论数 1 ⁄ 被围观 1,261次

在 Windows 下玩虚拟机,一般大家都会安装 VMware 软件,然后通过软件安装其它操作系统环境(如 Linux)来模拟各个服务器环境。然而大家在使用过程中可以发现这样一个问题,那就是每个操作系统对应主机磁盘目录中,vmdk 文件会越来越大,即使是在虚拟环境中清理出磁盘大小,但 Windows 主机中 vmdk 文件还是无变化,所以占用的主机资源会越来越多,发展到最后将导致虚拟系统无法启动。

第一步,清理虚拟系统资源

启动虚拟系统 Linux,删除磁盘中无用文件,清理出根目录空间。

清理前如下:

清理后如下:

但查看主机系统 Windows 下的目录占用磁盘大小情况,可以发现还是原样。

第二步,零填充未使用的空间

在虚拟系统 Linux 上执行填充命令,零填充所有未使用的空间,使 VMware 能够知道这些空间确实未使用。

cat /dev/zero > zero.fill

执行该命令会把 Linux 系统中没使用的空间全都填充 0 并生成文件 zero.fill,执行完成后系统会提示写入错误,系统无空间可用。

cat: write error: No space left on device

使用 df 命令查看磁盘情况,可以看到已填充满。

删除生成的 zero.fill 文件,使得磁盘大小恢复到填充前的状态。

截止目前,可以看到主机系统 Windows 下的目录占用磁盘大小情况还是原样。

关掉虚拟系统 Linux,回到主机系统 Windows 执行第三步。

第三步,压缩 vmdk 文件

打开 cmd 命令窗口,找到 VMware 的安装目录,执行下面命令,压缩 vmdk 文件。

cd C:\Program Files (x86)\VMware\VMware Workstation

vmware-vdiskmanager.exe -k "F:\soft\cluster\test1\test1.vmdk"

执行成功后结果如下:

C:\Program Files (x86)\VMware\VMware Workstation>vmware-vdiskmanager.exe -k "F:\soft\cluster\test1\test1.vmdk"
  Shrink: 100% done.
Shrink completed successfully.

再次查看主机系统 Windows 下的目录占用磁盘大小情况,可以发现瞬间变小。

Good Luck! ​

原文链接:Windows 下 VMware 虚拟机的 vmdk 文件的压缩

目前有 1 条留言 其中:访客:0 条, 博主:0 条

  1. Avatar photo
    管理员
    孟郎郎 : 2023年05月13日19:53:56  -9楼 @回复 回复
    其它问题,可以参考https://superuser.com/questions/211798/how-to-reduce-the-size-of-vmware-disk

给我留言

留言无头像?