IT技術に関するメモ(主にセキュリティ関連)

インポートしたHyper-Vが起動出来ない

本ブログ記事にはアフィリエイト広告を利用しています

Bluetoothが切断される問題が遂に解決」で記載したトラブル時に、OSをクリーンインストールを実施しました。
環境のセットアップ中に、Hyper-V仮想マシンを移行したら、なんと起動しません。
起動までは出来たため解決方法を記載します。

状況

Hyper-Vの仮想マシン(ゲストOS)はWindows11でした。
ホストOSもWindows11で、ホストOSのクリーンインストール後に仮想マシンをインポートして起動したところエラーが発生。

[詳細の表示(D)]をクリックすると以下のような内容が記載されています。

‘[仮想マシン名]’の状態を変更しようとして、アプリケーションでエラーが発生しました。
‘[仮想マシン名]’は起動できませんでした。
‘[仮想マシン名]’は初期化できませんでした。
キーの保護機能をラップ解除できませんでした。詳細は HostGuardianService-Client イベントログに含まれています。
‘[仮想マシン名]’は起動できませんでした。(仮想マシン ID [仮想マシンID])
‘[仮想マシン名]’は、ワーカープロセスを開始できませんでした:パラメーターが間違っています。(0x80070057)。(仮想マシン ID [仮想マシンID])
‘[仮想マシン名]’は初期化できませんでした。(仮想マシン ID [仮想マシンID])
仮想マシン’仮想マシン名’のキーの保護機能をラップ解除できませんでした。。総裁は HostGuardianService-Client イベントログに含まれています。パラメーターが間違っています。(0x80070057)。(Virtual machine ID [仮想マシンID])

といったエラーです。
一部日本語が間違っているようですが、「キー」や「保護機能」「ラップ解除」等が何やら怪しい感じでした。

対応

エラー文言をネットで検索したところ、どうやらTPMに使う証明書が無いためエラーが発生しているようでした。
マイクロソフトのページにも注意事項が記載されています。

ホスト ガーディアン サービスを設定せずに、シールドされた仮想マシンをローカルで実行できます。 ただし、別のホストに移行すると、起動できないことがあります。 新しいホストで仮想マシンを実行することを承認するために、その仮想マシンのキーの保護機能を更新する必要があります。 詳細については、「保護されたファブリックとシールドされた VM」を参照してください。

Hyper-V の第 2 世代仮想マシンのセキュリティ設定 | Microsoft Docs

クリーンインストール後は対応不可

今回はOSクリーンインストール後に判明したため、既に証明書は消滅しています。
事前にバックアップを取得していない限り、復元は不可のようです。
証明書はcertlm.mscを起動し、[シールド VM のローカル証明書] -> [証明書]にあるやつのようです。

2022/09/30 追記
[シールドVMのローカル証明書]が無い場合は、クイックインストール等でTPMを有効にした仮想マシンを一度作成してください。

起動は出来る

TPMが有効な状態で起動する元の状態に復元するのは不可能ですが、起動させる事は出来ます。
起動すれば、中のデータは取得出来るので一安心です。

では起動の仕方です。
ゲストマシンの設定を開きます。
[セキュリティ]を選択し、[トラステッド プラットフォーム モジュールを有効にする(P)]のチェックを外します。
[OK]で設定を保存してください。

この状態で仮想マシンを起動するとゲストOSが起動しました。
再度TPMを有効にするとエラーが発生するので、TPMが無効な状態でしか起動出来ません。

まとめ

OSのクリーンインストール前であれば、証明書をエクスポートしてインポートすれば移行できるようです。
私は証明書が削除済みだったので、新規で仮想マシンを作成しなおしました。



[広告]当サイトはさくらインターネットのレンタルサーバーを利用しています。