能否在 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

在 VMware Fusion 從版本 4 開始的版本中,您可以前往虛擬機器首選項 -> 常規 -> 清理虛擬機器。

此外,還有一個圖表,您可以在其中看到縮小後的預期大小。

答案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. 鍵入“空格”,然後鍵入 VM 的虛擬磁碟檔案的路徑。

  3. 按回車鍵。

來賓作業系統的虛擬磁碟檔案可在其虛擬機器檔案中找到。例如,如果您的虛擬機器檔案位於/Users/you/VM,則其虛擬磁碟的路徑為/Users/you/VM.vmwarevm/VM.vmdk

根據記錄,這將我的 Snow Leopard 虛擬機從 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 /

這將首先擦除檔案系統中的空白空間(與建立零填充檔案相同)並在來賓終端中顯示進度。完成後,將在不關閉 VM 的情況下呼叫 VMDK 收縮,並在 VM 視窗上顯示為進度條。

/ 是要擦除空白空間的檔案系統的路徑。如果您有多個分割區,您可以單獨擦除它們並在最後進行最終收縮:

  • 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 作業系統虛擬機

  3. 在您的主電腦上開啟命令提示符具有提升的(管理)權限並運行

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

    筆記: vmware-vdiskmanager.exe不包含在虛擬機器播放器版本,以便您可以從以下位置下載https://code.vmware.com/web/sdk/60/vddk解壓縮下載的開發包資料夾,您可以在 /bin 資料夾中找到 vmware-vdiskmanager.exe。現在,對於第 3 點,您需要將此路徑用於 vmware-vdiskmanager.exe 部分。

  4. 完成上述步驟後,您就可以在虛擬機器上進行操作了。首次啟動可能需要比平常更長的時間。


主機指令的螢幕截圖,第 3 點

相關內容