VMWare Fusion で Mac OS X ゲスト OS のスパース ディスク イメージを縮小できますか?

VMWare Fusion で Mac OS X ゲスト OS のスパース ディスク イメージを縮小できますか?

私は 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

VMware Fusion バージョン 4 以降では、VM 設定 -> 一般 -> 仮想マシンのクリーンアップに移動できます。

さらに、縮小後に予想されるサイズを確認できるチャートもあります。

答え2

なるほど、確かにできます。この問題に関するVMWareディスカッションボードのこのスレッド仮定:

  1. このファイルはスパース ディスク イメージであり、事前に割り当てられていません。
  2. VM にはスナップショットがありません。

要するに:

ゲストOSのディスクの空き領域を消去するゲストOS内からディスクユーティリティを使用して、ゲストOSのディスクを縮小しますホストOSからvmware-vdiskmanagerコマンドラインで使用します。

長いです:

ゲスト OS の場合:

  1. ディスクユーティリティを開きます。
  2. ゲスト OS のパーティションを選択します。
  3. 「消去」タブに移動します。
  4. 「空き領域を消去」ボタンをクリックします。
  5. 「削除されたファイルをゼロにする」が選択されていることを確認し、空き領域を消去します。
  6. 完了したら、ディスクユーティリティを閉じて、ゲスト OS をシャットダウンします。

または、パーティションの名前が「Macintosh HD」の場合、ゲスト OS のターミナルで次のように入力します。

diskutil secureErase freespace 0 Macintosh\ HD
sudo halt

ホスト OS の場合:

  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. リターンを押します。

ゲスト OS の仮想ディスク ファイルは、仮想マシン ファイル内にあります。たとえば、仮想マシン ファイルが にある場合/Users/you/VM、その仮想ディスクへのパスは です/Users/you/VM.vmwarevm/VM.vmdk

ちなみに、これにより私の Snow Leopard VM は 15 GB から 6 GB に縮小されました。

答え3

非常に簡単な CLI オプションが追加されました。ゲスト OS 内からこれを実行できます。

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 OS VMの

  3. メインPCで開くコマンド・プロンプト管理者権限で実行

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

    注記: vmware-vdiskmanager.exe含まれていないVMware プレーヤーバージョンはここからダウンロードできますhttps://code.vmware.com/web/sdk/60/vddkそしてダウンロードした開発キットを解凍するフォルダーがあり、/bin フォルダーで vmware-vdiskmanager.exe を見つけることができます。ポイント 3 では、vmware-vdiskmanager.exe セクションにこのパスを使用する必要があります。

  4. 上記の手順が完了したら、仮想マシンを起動できます。初回起動には通常より時間がかかる場合があります。


ホストコマンドのスクリーンショット、ポイント 3

関連情報