Hyper-VのVirtual Hard Disksに残る古いVHD/VHDXは削除していい?安全な確認手順とHyper-Vマネージャーの開き方

Hyper-V の「Virtual Hard Disks」フォルダーに、使っていないはずの VHD/VHDX が残っていて不安…という相談は多いです。結論は「紐づきがないと確認できたものは削除OK」。ただしチェックポイント(AVHDX)や差分ディスクが絡むと事故りやすいので、安全な確認手順と Hyper-V マネージャーの開き方をまとめます。

目次

結論:削除してよい条件と、やってはいけない削除

Hyper-V の仮想ハードディスク(VHD/VHDX)は、仮想マシン(VM)の設定ファイルとは別物です。そのため、VM を削除した・登録を外した・移行した、といった操作をしても、ディスクファイルだけが保存先に残るケースがあります。

削除の判断はシンプルで、次のどちらに該当するかで決めます。

  • 削除してよい:どの VM からも参照されておらず、バックアップ用途や差分ディスクの親としても使っていないと確認できた VHD/VHDX
  • 削除してはいけない(要注意):AVHDX(チェックポイント差分)、親子関係が不明な差分ディスク、他 VM のテンプレートとして使っていそうな親ディスク、稼働中 VM が参照するディスク

迷う場合は「いきなり削除」ではなく、まず 退避(コピーして保管)→ 数日〜数週間様子見 が最も安全です。容量が大きくてコピーが大変でも、起動不能の復旧作業よりははるかに安く済みます。

なぜ「Virtual Hard Disks」に古い VHD/VHDX が残るのか

代表的な原因を押さえておくと、不要ファイルの見極めが速くなります。

よくある状況なぜ残る?見極めのヒント
VM を削除した(登録解除した)Hyper-V は VM の構成削除とディスク削除が別扱いVM 一覧に存在しないのに VHDX が残る
ストレージ移行(Storage Migration)や手動コピーをした移行前の置き場に古いディスクが残存更新日時が古い/同名の別 VHDX が別フォルダーにある
チェックポイントを作った/削除したAVHDX のマージが未完了、または残骸が残る拡張子が .avhdx、サイズが増減している
テンプレート用に「親ディスク」を置いて差分ディスク運用親ディスク(ベース)が共有される複数 VM のディスクが同じ親を参照(ParentPath)
バックアップ/検証用に VHDX をコピーして保管意図的に残しているが、経年で忘れるフォルダー名に backup, old, archive がある

まずはここを確認:削除判断のチェックリスト

削除判断で事故が起きるのは、「そのディスクがどこから参照されているか」「差分(親子)構成か」を見ないまま消してしまうパターンです。以下の順に確認していけば、失敗しにくくなります。

削除判断の早見表

状況削除可否理由推奨アクション
VM 一覧に存在せず、どの VM のディスク設定にも出てこない原則 OK参照がなければ削除しても影響が出にくい念のため退避→問題なければ削除
VM は残っているが、その VM は使っていない要注意チェックポイントや複数ディスクが紐づく可能性VM を整理(エクスポート/バックアップ)→VM 削除→残った VHD を確認
拡張子が .avhdx基本 NGチェックポイント(差分)で、親子関係を壊すと起動不能チェックポイントを削除してマージ完了を待つ/必要なら手順に沿ってマージ
Get-VHD で ParentPath が表示される(差分ディスク)慎重に親ディスクを消すと子ディスクが全滅する親子関係を図にして把握→不要なチェーンをまとめて退避/削除
更新日時は古いが、サイズが定期的に変わっている要調査バックアップやマージ処理で書き換えられている可能性イベントログやバックアップ設定を確認、しばらく監視

Hyper-V マネージャーで「どの VM のディスクか」を特定する

最も分かりやすいのは GUI(Hyper-V マネージャー)での確認です。対象 VM を開けるなら、次の手順で VHD/VHDX のパスを確認できます。

  1. Hyper-V マネージャーを開く
  2. 左ペインでホストを選択し、中央の VM 一覧から対象 VM を選ぶ
  3. 右側の操作メニューから「設定」を開く
  4. 「ハードウェア」→「ハード ドライブ」を選び、仮想ハードディスクのパスを確認する
  5. (世代 2 などで複数ディスクがある場合)各コントローラー配下も確認する

この時点で「この VHDX は今も参照中だ」と分かれば、削除候補から外します。逆に、ディスクとして出てこないファイルは、次の PowerShell での一括洗い出しが効率的です。

PowerShell で参照中の VHD/VHDX を一括で洗い出す

Hyper-V ホスト上で管理者として PowerShell を開き、Hyper-V モジュールが使える状態で実行します。まずは VM とディスクの紐づきを一覧化します。

# VM と接続されている VHD/VHDX を一覧化
Get-VM | Get-VMHardDiskDrive |
  Select-Object VMName, ControllerType, ControllerNumber, ControllerLocation, Path |
  Sort-Object VMName, ControllerType, ControllerNumber, ControllerLocation

次に、「Virtual Hard Disks」フォルダー(またはあなたの環境の保存先)に存在する VHD/VHDX の一覧を取り、参照中リストと突き合わせると、孤立(オーファン)候補が見えてきます。

# 例:既定パス。環境に合わせて変更してください
$VhdRoot = "C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks"

# 参照中ディスク一覧(絶対パス)

$InUse = Get-VM | Get-VMHardDiskDrive | Select-Object -ExpandProperty Path

# フォルダー内の VHD/VHDX/AVHDX を列挙

$Files = Get-ChildItem -Path $VhdRoot -Recurse -File |
Where-Object { $_.Extension -in ".vhd", ".vhdx", ".avhdx" }

# 参照されていない候補(ただし差分親子などは別途確認)

$Orphan = $Files | Where-Object { $InUse -notcontains $_.FullName }

$Orphan | Select-Object FullName, Length, LastWriteTime | Sort-Object LastWriteTime

この一覧に出てきたファイルのうち、特に .avhdx が混ざっている場合は削除厳禁 です。次の章で扱い方を確認してください。

確認に使う PowerShell コマンド早見表

目的コマンド例ポイント
VM の状態(稼働中か)を見るGet-VM | Select Name, State稼働中 VM のディスクは触らない
VM と VHD の紐づきを見るGet-VM | Get-VMHardDiskDriveまずここで参照関係を押さえる
VHD の親子関係(差分か)を確認Get-VHD -Path "D:\...\disk.vhdx"ParentPath があれば差分ディスク
チェックポイントを一覧Get-VMSnapshot -VMName "VM名"残っていれば AVHDX が絡む可能性
チェックポイントを削除(マージ開始)Remove-VMSnapshot -VMName "VM名" -Name "Checkpoint名"削除=即消えるではなく、マージが走る

チェックポイント(AVHDX)や差分ディスクがあるときの注意点

Hyper-V のディスク運用で一番事故が多いのが AVHDX(チェックポイント差分) と 差分ディスク(Differencing Disk) です。ここを理解していない状態でファイル削除すると、VM が起動しなくなる原因になります。

AVHDX(チェックポイント差分)の基本

  • チェックポイント作成後、書き込み先は元の VHDX ではなく AVHDX に切り替わります。
  • チェックポイントを削除すると、AVHDX の内容が親(VHDX など)へ マージ されます。
  • マージ中にホストを再起動した、ストレージが逼迫した、バックアップと競合した、などの事情で「AVHDX が残ったまま」になることがあります。

やってはいけない操作:エクスプローラーで AVHDX を直接削除する/名前変更する。これだけで起動不能になることがあります。

差分ディスク(Differencing Disk)の基本

差分ディスクは「親(ベース)ディスクに対する変更点だけを子に持つ」方式です。検証用テンプレートや VDI 的な運用で便利ですが、親を消すと子が成り立たなくなります。

差分構成かどうかは Get-VHD の ParentPath で判定できます。

Get-VHD -Path "D:\HyperV\Virtual Hard Disks\disk.vhdx" |
  Select-Object Path, VhdType, ParentPath

拡張子で分かる「触っていいファイル/危険なファイル」

拡張子意味削除の考え方補足
.vhd / .vhdx仮想ハードディスク本体参照なしを確認できれば削除候補まずは VM 設定と突合
.avhdxチェックポイント差分ディスク原則削除しないチェックポイント削除→マージ完了を待つ
.rctResilient Change Tracking 用ファイル単体削除は非推奨バックアップや変更追跡に使われることがある
.vmcx / .vmrsVM の構成/実行状態ファイルVM 登録とセットで扱うディスクだけ消すと設定が残骸化する

安全に整理する実践手順:迷わず進める「退避→検証→削除」

ここからは実際に整理する流れです。ポイントは「削除前に、復旧できる逃げ道を作る」こと。特に業務用サーバーや検証環境でも、将来の調査のために一時的に残したいケースは少なくありません。

対象ファイルの候補を一覧化する

  • Virtual Hard Disks 配下をサイズ順・更新日時順で並べる
  • VM のディスク参照一覧(Get-VMHardDiskDrive)と突き合わせる
  • .avhdx や ParentPath があるものは「危険枠」に入れて別扱いにする

削除前に「退避」する(最も安全)

削除候補は、まず別ドライブや NAS、クラウドにコピーして保管します。ファイルが巨大な場合は、ネットワークコピーよりも外付けストレージの方が安定することが多いです。

# 例:Robocopy で大きいファイルを堅牢にコピー
robocopy "D:\HyperV\Virtual Hard Disks" "E:\HyperV_Backup\Virtual Hard Disks" *.vhd *.vhdx /E /R:2 /W:2

退避先のフォルダー名に日付を入れておくと、後から「いつの退避か」が一目で分かります。

削除は「Hyper-V 側の操作」→「ファイル削除」の順が無難

VM が残っている場合、先に VM の設定からディスクを外す、チェックポイントを削除してマージを完了させる、といった Hyper-V 側の整合性 を取る方が安全です。

  • 不要な VM:エクスポート(必要なら)→ VM 削除 → 残った VHD/VHDX を確認して削除
  • VM は残すが古いディスクだけ不要:VM の設定からディスクを削除(接続解除)→ 退避 → ファイル削除

エクスプローラーで VHD だけ消すと、VM の設定に「参照先がないディスク」が残って起動エラーの原因になるため、順序を意識します。

削除後の確認

  • Hyper-V マネージャーで VM を起動して問題がないか確認
  • イベント ビューアー(Hyper-V-VMMS / Hyper-V-Worker)にエラーが出ていないか確認
  • しばらく運用して問題がなければ、退避したコピーも整理

Hyper-V マネージャー(コンソール)の開き方

「管理画面(コンソール)をどう開くか」で迷ったら、次のどれかが確実です。Windows クライアント/Windows Server の両方で通用する方法をまとめます。

すぐ開ける方法

方法手順向いている場面
スタート検索検索ボックスに Hyper-V マネージャー(または Hyper-V Manager)と入力して起動まず試すならこれ
ファイル名を指定して実行Win + R → virtmgmt.msc最短で開きたい
サーバー マネージャー(Windows Server)Server Manager → 「ツール」→ 「Hyper-V マネージャー」サーバー運用でよく使う
Windows ツールコントロール パネル/設定 → Windows ツール → Hyper-V マネージャーメニューから辿りたい

別の Hyper-V ホストを遠隔で管理したい場合

Hyper-V マネージャーは、ローカルだけでなく別サーバーにも接続できます。右側メニューの「サーバーへ接続」からホスト名を指定します。運用環境では「管理用 PC から Hyper-V ホストをリモート管理」する方が、ホスト上の作業が減って安全なことも多いです。

Hyper-V マネージャーが見つからない/起動できないときの対処

検索しても出てこない場合、そもそも Hyper-V が未導入、または管理ツールが入っていない可能性があります。代表的な対処を表にまとめます。

環境よくある原因対処(例)
Windows 10/11 Pro/EnterpriseHyper-V 機能が無効「Windows の機能の有効化または無効化」で Hyper-V を有効化 → 再起動
Windows 10/11 Home標準では Hyper-V が使えない業務用途なら Pro 以上を検討(代替として WSL2/他製品を利用)
Windows Server役割(Hyper-V)や管理ツール未導入サーバー マネージャーで役割追加(Hyper-V)+管理ツール

PowerShell で機能を有効化したい場合の例も載せておきます(実行には管理者権限が必要です)。

# Windows 10/11(Pro/Enterprise)で Hyper-V を有効化
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

# Windows Server で Hyper-V 役割を追加(管理ツール含む)

Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart

よくある質問(削除前の不安をここで解消)

VHD/VHDX をエクスプローラーから消しても大丈夫?

参照が完全に切れている(どの VM 設定にも出てこない)と確認できた VHD/VHDX なら、最終的にはエクスプローラー削除でも問題ありません。ただし現場では、削除前に VM 側の設定を確認し、必要なら接続解除してから消す方がトラブルが少ないです。

.avhdx があるけど、これは古そう。消していい?

基本的に消しません。AVHDX はチェックポイント差分であり、親子関係を壊すと起動不能になります。チェックポイント一覧を確認し、不要なチェックポイントは Hyper-V の機能で削除してマージ完了を待つのが安全です。

ファイル名や更新日時だけで「不要」と判断していい?

判断材料にはなりますが、決定打にはしません。更新日時が古くてもテンプレートとして使っているケース、バックアップが触って更新日時だけ変わるケースがあります。「VM 参照の有無」「ParentPath の有無」「チェックポイントの有無」の3点で裏取りすると、誤削除の確率が大きく下がります。

削除後に VM が起動しなくなったら?

まずは落ち着いて、消したディスクがどれかを特定します。退避コピーがあれば元に戻してパスを復元し、VM の設定(ハード ドライブのパス)を正しい場所に直します。退避がない場合は、バックアップからの復元や、同名ファイルの再配置が必要になり、復旧の難易度が上がります。だからこそ「退避→削除」を推奨しています。

まとめ:古い VHD/VHDX 整理で失敗しないための最短ルート

  • 不要だと確実に分かる VHD/VHDX は削除してよいが、参照確認が先
  • Hyper-V マネージャーと PowerShell(Get-VMHardDiskDrive)で紐づきを洗い出す
  • .avhdx(チェックポイント差分)と差分ディスク(ParentPathあり)は、手順を間違えると起動不能になりやすい
  • 迷うものは「退避して様子見」が最も安全で、結果的に作業コストも下がる
  • Hyper-V マネージャーは検索、または virtmgmt.msc で即起動できる

Virtual Hard Disks の肥大化は、ストレージ逼迫やバックアップ時間増大の原因になります。定期的に「参照中ディスク」と「実ファイル」を突き合わせ、不要な VHD/VHDX を安全に整理しておくと、トラブル対応も運用もぐっと楽になります。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次