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

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

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

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

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

有没有什么办法可以缩小 VMWare Fusion 中 Mac OS X 客户操作系统使用的稀疏磁盘映像?

答案1

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

此外,还有一个图表,您可以看到收缩后的预期尺寸。

答案2

啊哈 — — 确实可以,按照VMWare 讨论板上有关此问题的帖子, 假设:

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

简而言之:

清除客户操作系统磁盘上的可用空间从客户操作系统内部使用磁盘工具,然后缩小客户操作系统的磁盘从主机操作系统vmware-vdiskmanager在命令行中使用。

长话短说:

在客户操作系统中:

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

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

diskutil secureErase freespace 0 Macintosh\ HD
sudo halt

在主机操作系统中:

  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”,然后输入虚拟机虚拟磁盘文件的路径。

  3. 点击回车。

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

记录显示,这将我的 Snow Leopard VM 从 15 GB 缩小到了 6 GB。

答案3

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

sudo /Library/Application\ Support/VMware\ Tools/vmware-tools-cli disk shrink /

来自穆达尔佐夫VMware 社区论坛

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

sudo /Library/Application\ Support/VMware\ Tools/vmware-tools-cli disk shrink /

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

/ 是要清除空白空间的文件系统路径。如果您有多个分区,则可以分别清除它们,最后再进行最后的压缩:

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

vmware-tools-cli 帮助磁盘也对此进行了解释

答案4

  1. 打开终端并运行

     sudo diskutil secureErase freespace 0 Macintosh
    

    (确保将 Macintosh 替换为您的实际 HDD 分区名称,您可以从磁盘实用程序中找到它。如果不正确,您将收到“未找到 Macintosh HD”错误)

    等待命令完成处理。您可能还会收到来自 VMware 的一些错误,只需单击继续并忽略它即可。

  2. 完成后,关闭您的 Mac OS 虚拟机

  3. 在主电脑上打开命令提示符使用提升的(管理员)权限并运行

     "\vmware-path\vmware-vdiskmanager.exe" -k "\vm-path\VM-name.vmdk"
    

    笔记: 虚拟机-vdiskmanager.exe不包括在VMware 播放器版本,以便您可以从下载https://code.vmware.com/web/sdk/60/vddk解压下载的开发工具包文件夹,您可以在 /bin 文件夹中找到 vmware-vdiskmanager.exe。现在对于第 3 点,您需要将此路径用于 vmware-vdiskmanager.exe 部分。

  4. 完成上述步骤后,您就可以启动虚拟机了。首次启动可能需要比平时更长的时间。


主机命令的屏幕截图,第 3 点

相关内容