您可以在VMWare Fusion中收缩Mac OS X来宾OS的稀疏磁盘映像吗?


16

我在Mac上使用VMWare Fusion来运行虚拟Windows 7计算机和Microsoft IE兼容性Windows XP虚拟机。

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

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

有什么方法可以缩小VMWare Fusion中Mac OS X来宾OS所使用的稀疏磁盘映像吗?


1
不幸的是,由于vdiskmanager不再在此文件夹中,因此在VMWare Fusion 4中不再起作用。似乎没人知道它现在在哪里。


1
在“ 虚拟机库”窗口中,选择虚拟机而不启动它。刷新“ 可回收”条形图,然后单击“ 清理”(如果有)。另请参见KB 1001934:对VMware Fusion虚拟机磁盘进行碎片整理,缩小和清理
jww

Answers:


6

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

此外,还有一张图表,您可以查看缩小后的尺寸。


的确如此,但是对于VMware Fusion 7+,它从来没有提供清理Mac OS客户机的功能。
dakcarto

@dakcarto-VMware Fusion 5提供此功能,但仅在有可回收的内容时提供。也许您没有可回收的东西?(在8.0→8.1升级后,我为Windows 8.1来宾提供了33 GB的可回收资源)。
jww

10

呵呵-实际上,按照VMWare讨论板上有关此问题的主题,您可以:

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

简而言之:

使用“磁盘工具” 来宾OS中擦除来宾OS磁盘上的可用空间,然后使用命令行在主机OS上缩小来宾OS的磁盘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。


8

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

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

VMware社区论坛上的mudalsov

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

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

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

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

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

vmware-tools-cli帮助磁盘也对此进行了说明


这是缩小磁盘的最简单的“一个命令”方式。适用于VMware
Fusion8。– pointum

5

在3.x之后的VMware Fusion变体vmware-vdiskmanager中,接受的答案中提到的的语言环境是:

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

所以你所需要的就是

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

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

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


0

在VMWare Fusion 6中,这是一个三步过程。

  1. 将所有已删除的文件替换为零:

    $ diskutil secureErase freespace 0 Macintosh\ HD

  2. 运行VMWare的磁盘缩减实用程序

    $ sudo /Library/Application\ Support/VMWare\ Tools/vmware-tools-cli disk shrinkonly

  3. 关闭(或重新启动)虚拟机。

真的吗?他们删除了GUI选项吗?
Paul D. Waite 2014年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.