您可以在 VMWare Fusion 中缩小 Mac OS X 客户机操作系统的稀疏磁盘映像吗?

Pau*_*ite 16 vmware-fusion macos

我在 Mac 上使用 VMWare Fusion 运行虚拟 Windows 7 机器,以及兼容 Microsoft IE 的 Windows XP 虚拟机。

在 Windows 来宾操作系统上的 VMWare 工具中,有一个“缩小”选项,可让您减小来宾操作系统使用的稀疏磁盘映像的大小,以节省主机 OX 上的硬盘空间。

我最近创建了另一个虚拟机,这次运行的是 Snow Leopard Server。我想知道我是否也可以缩小这台机器使用的备用磁盘映像,但是我在 Mac 来宾操作系统上找不到 VMWare Tools 应用程序,即使已经安装了 VMWare Tools(因为 VMWare 的共享文件夹功能正在运行)。

有没有办法缩小 VMWare Fusion 中 Mac OS X 来宾操作系统使用的稀疏磁盘映像?

Pau*_*ite 10

啊哈——确实你可以,根据VMWare 讨论板上关于这个问题的这个线程,假设:

  1. 该文件是稀疏磁盘映像,未预先分配。
  2. VM 没有快照。

简而言之:

使用磁盘工具来宾操作系统中擦除来宾操作系统磁盘上的可用空间,然后使用命令行从主机操作系统中缩小来宾操作系统的磁盘vmware-vdiskmanager

长:

在来宾操作系统中:

  1. 打开磁盘工具。
  2. 选择来宾操作系统的分区。
  3. 转到“擦除”选项卡。
  4. 单击“擦除可用空间”按钮。
  5. 确保选择了“清零已删除的文件”,并擦除可用空间。
  6. 完成后,关闭磁盘工具,然后关闭来宾操作系统。

或者,当分区名为“Macintosh HD”时,在来宾操作系统的终端中:

diskutil secureErase freespace 0 Macintosh\ HD
sudo halt
Run Code Online (Sandbox Code Playgroud)

在主机操作系统中:

  1. 打开终端并输入:

    [ -d "/Library/Application Support/VMware\ Fusion" ] && alias vmware-vdiskmanager="/Library/Application Support/VMware Fusion/vmware-vdiskmanager" || alias vmware-vdiskmanager="/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager"; vmware-diskmanager -k

  2. 键入“space”,然后键入 VM 的虚拟磁盘文件的路径。

  3. 按回车。

来宾操作系统的虚拟磁盘文件位于其虚拟机文件中。例如,如果您的虚拟机文件位于/Users/you/VM,则其虚拟磁盘的路径为/Users/you/VM.vmwarevm/VM.vmdk

作为记录,这将我的 Snow Leopard 虚拟机从 15 GB 缩小到 6 GB。


Col*_*lin 8

他们添加了一个非常简单的 CLI 选项 - 从来宾操作系统内部执行此操作:

sudo /Library/Application\ Support/VMware\ Tools/vmware-tools-cli disk shrink /
Run Code Online (Sandbox Code Playgroud)

来自VMware 社区论坛上的mudaltsov

一种稍微简单的方法 - 收缩功能内置于 VMware Tools 命令行实用程序中:

sudo /Library/Application\ Support/VMware\ Tools/vmware-tools-cli disk shrink /
Run Code Online (Sandbox Code Playgroud)

这将首先擦除文件系统中的空白空间(与创建零填充文件相同)并在来宾终端中显示进度。完成后,将在不关闭 VM 的情况下调用 VMDK 收缩,并在 VM 窗口上显示为进度条。

/ 是文件系统的路径,用于擦除空白空间。如果您有多个分区,您可以单独擦除它们并在最后进行最终收缩:

  • vmware-tools-cli disk list 查看可用的擦除位置
  • vmware-tools-cli disk wipe <location> 擦拭每个位置(重复多次),无需收缩操作
  • vmware-tools-cli disk shrinkonly 做最后的收缩操作。

这个vmware-tools-cli帮助盘也有说明


小智 6

在自版本 4 起的 VMware Fusion 中,您可以转到 VM 首选项 -> 常规 -> 清理虚拟机。

此外,还有一张图表,您可以在其中看到缩小后的预期尺寸。


小智 5

在 VMware Fusion 的变体中,继 3.x 之后,vmware-vdiskmanager接受的答案中提到的的区域设置是:

/Applications/VMware\Fusion.app/Contents/Library/vmware-vdiskmanager

所以你只需要

/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -k 
Run Code Online (Sandbox Code Playgroud)

然后转到finder,导航到您的VM,通常位于“~/Documents/Virtual Machines/”中。

右键单击文件,选择“显示包内容”,然后将 .vmdk 文件拖到终端并按 Enter。