SofGate

Hyper-VのVHD最適化でファイルが小さくならない場合の対処例


PowerShellの最適化処理「Optimize-VHD」を2回連続で実行する

このページは、WindowsでHyper-VのVHD(仮想ハードディスク)を最適化する際に、左図のような標準操作では想定より小さくならない場合の対処例です。

不要ファイルを削除した後に最適化しても、想定より小さくならない場合の対処例です。
仮想ハードディスクの使用容量とVHDファイルサイズが異なるとの話ではありませんので注意ください。

VHD内のファイルを削除しても想定より小さくならない

Hyper-VのVHD(仮想ハードディスク)を最適化する際に、VHD内ののファイルを削除しても想定より小さくならない場合があります。
このため、デフラグや未使用領域ゼロ埋めを行っていたのですが、PowerShellの最適化処理「Optimize-VHD」を使うと効率が良いと解りました。
2回連続で実行する事がポイントです。

Hyper-VのVHD最適化手順

1.PowerShellを管理者として起動する。
2.次のコマンドを順番に実行する。
※赤文字部分は「対象のフルパス」に変更ください。(前後のダブルコーテーション必須)
※対応後はホストのOS再起動を勧めます。(ゲストOS起動時にエラーとなりホストOS再起動で直った事がありました)
$targetvhd = "C:\Hyper-V\テスト環境.vhdx"
Mount-VHD $targetvhd -Readonly
Optimize-VHD $targetvhd -Mode Quick
Optimize-VHD $targetvhd -Mode Quick
Dismount-VHD $targetvhd

● HOME ▲ PAGE TOP