新しいVMでスナップショットを含むVHDを使用する

新しいVMでスナップショットを含むVHDを使用する

回復可能な問題だと期待しています。ドライブがクラッシュし、VM と VHD のエクスポート/バックアップが途中で失敗していることがわかりました (もちろん、ログをチェックしている人は誰もいませんでした)。したがって、それを回復するクリーンな方法はありません。失ったのは、Hyper-V プログラムと、その構成用ファイルです。

これは Windows 11 (最新バージョン) です。すべて同じコンピューター上にあり、失ったのはコンピューター上の SSD です。壊れたドライブは C: ドライブだったので、Hyper-V のインストール、レジストリ、AppData フォルダーなどがすべて失われました。

まだ残っているのは VM と VHD ファイルです。データは D: ドライブにあります。必要なのは仮想ドライブです。VM が戻ればそれでいいのですが、新しい VM を作成することもできます。ただし、VHD 上のデータが必要です。

VM には 10 個程度のチェックポイントがあったため、Hyper-V のチェックポイント ツリーは、それぞれ 1 つの子を持つ一連の降順のノードで構成されていました。そして、その子には 1 つの子がありました。そして...

新しい VM を作成し、それを VHDX ファイルに指定しました。うまくいきませんでした。電源を入れると、起動可能なメディアが見つからないというメッセージが表示されました。私が持っているファイルは次のとおりです。

VHD

ここに画像の説明を入力してください

仮想マシン

ここに画像の説明を入力してください

スナップショット

ここに画像の説明を入力してください

これを回復する方法はありますか? Hyper-V についてはよく知りませんが、VHD ファイルのコレクションにはドライブ イメージが含まれていると思います。しかし、Hyper-V にそれをすべて使用するように指示するにはどうすればよいでしょうか?

答え1

データが破損している可能性は高いです。VHDX はすべての AVHDX ファイルのルートとして機能します。VHDX に接続してそこから起動しようとして 1 ビットでも変更すると、AVHDX の子ツリー全体が破損します。サードパーティのデータ復旧ツールは存在しますが、そのツールで何ができるかはわかりません。

今後は、Hyper-V を再インストールして、VM のルート フォルダーを指定して仮想マシンのインポートを実行してみてください。インポートでは、スナップショットの状態を把握し、スナップショット ツリーを自動的にまとめることができます。何かを回復できるかどうかは疑問ですが、少なくとも今あるもので試してみる必要があります。少なくとも VM を検出できるはずです。アクティブな VM であると判断されたものに接続しようとします。その VM は、最近アクティブになった AVHDX への参照を持ちます。次に、その親ツリーをたどってルート VHDX まで戻ります。アタッチとブートの試行で何も変更されなかったという幸運があれば、すべてうまくいきます。その後、すべてのスナップショットを削除すると、Hyper-V がすべてを独自にマージしてフラット化します。

構成要素のVHDXとAVHDXファイルから完全なVHDXを再構築したい場合は、各AVHDXを次のように実行する必要があります。VHD を取得するそれぞれに親パス財産: ParentPath を選択した Get-VHD 出力

親として指している他の A​​VHDX がない AVHDX を見つけます。これがチェーンの最後になります。逆順にチェーン全体を把握するまで、逆方向に作業します。おそらく変更日で作業できますが、ParentPath の方がより信頼性の高い指標です。マージすると、元に戻すことはできないため、最初にこれを正しく実行してください。マージ コマンドは、作業中のディスク ファイルに子があるかどうかを確認しません。親がある場合は、その親にマージされ、子はすべて孤立します。孤立した VHDX の親を再度設定するには、VHD の設定しかし、それは単に余分な作業になるだけであり、新しい親が誰であるかを知っておく必要があります。そうしないと、正しいものになるまで、使用可能なディスク ファイルを 1 つずつ調べる必要があります。

親の順位がわかったら、マージ-VHD子供のいないAVHDXから始まります。

Merge-VHD -Path childless.avhdx

サンプルマージ-VHD

成功した場合、マージされた子 AVHDX は自動的に削除されます。リストの次の項目に進みます。

この場合、VHDX が変更され、その子が整列しなくなったため、最終的なマージは失敗すると思われます。ただし、試してみるまでわかりません。

関連情報