web-dev-qa-db-ja.com

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

MacでVMWare Fusionを使用して仮想Windows 7マシンを実行し、Microsoft IE互換性Windows XP仮想マシン。

WindowsゲストOSのVMWareツールには、ゲストOSが使用するスパースディスクイメージのサイズを縮小して、ホストOXのハードドライブスペースを節約できる「縮小」オプションがあります。

最近、別の仮想マシンを作成しました。今回はSnow Leopard Serverを実行しています。このマシンで使用されているスペアディスクイメージも圧縮できるかどうか疑問に思っていましたが、VMWareツールがインストールされていても(VMWareの共有フォルダ機能が機能しているため)、MacゲストOSにVMWareツールアプリが見つかりません。

VMWare FusionでMac OS XゲストOSが使用するスパースディスクイメージを圧縮する方法はありますか?

16
Paul D. Waite

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

さらに、縮小後に予想されるサイズを確認できるグラフがあります。

6
sja

Aha —確かに、 この問題に関する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. 「space」と入力してから、VMの仮想ディスクファイルへのパスを入力します。

  3. リターンを押します。

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

記録のために、これは私のユキヒョウVMを15GBから6GBに縮小しました。

10
Paul D. Waite

彼らは非常に簡単なCLIオプションを追加しました-これはゲストOSの内部から行います:

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

VMwareコミュニティフォーラム のmudaltsovから:

少し簡単な方法-縮小機能はVMwareToolsコマンドラインユーティリティに組み込まれています。

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ヘルプディスクでも説明されています

8
Colin

3.x以降のVMwareFusionのバリアントでは、受け入れられた回答に記載されているように、vmware-vdiskmanagerのロケールは次のとおりです。

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

必要なのは

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

次に、Finderに移動し、通常は「〜/ Documents/Virtual Machines /」にあるVMに移動します。

ファイルを右クリックし、「パッケージの内容を表示」を選択してから、.vmdk-ファイルをターミナルにドラッグしてEnterキーを押します。

5
Joe Test

〜/ cat/dev/zero>ワイプファイル; rmワイプファイル

その後、Windowsでシステムをシャットダウンする

vmware-vdiskmanager -k virtualmachinefile.vmdk

0
Shawn Harrison

VMWare Fusion 6では、これは3ステップのプロセスです。

  1. 削除されたファイルをゼロに置き換えます。

    $ diskutil secureErase freespace 0 Macintosh\ HD

  2. VMWareのディスク圧縮ユーティリティを実行する

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

  3. 仮想マシンをシャットダウン(または再起動)します。
0
Ian