Hyper-V TPM有効にした仮想マシンの移動方法

 Windows 11 のインストールするには TPM 2.0 が有効である必要があります。Hyper-V の仮想マシンに Windows 11 をインストールする場合は、第2世代の仮想マシンを作成して、設定の「セキュリティ」で以下のように「トラステッドプラットフォームモジュールを有効にする」にチェックをつけた状態でインストールします。(セキュアブートはデフォルトで有効になっています)

これで問題なくWindows 11 はインストールできるので、めでたしめでたしなのですが、この仮想マシンを他のPCに移動する時に問題が発生します。もし今までどおりに仮想マシンをエクスポートして、別のPCでインポートしても起動時にエラーが発生してしまうのです。これは仮想マシンに対してTPMが有効になっていることが原因です。では、どのようにしたら他のPCへ移すことができるのだろうかというのがこの記事の主題です。

 Hyper-V で上記のようにTPMを有効にした仮想マシンを作った場合、シールドVMのローカル証明書が作成されます。certlm.msc を起動し「シールドVMのローカル証明書」ー「証明書」を見ると、以下のように2つ証明書が格納されていることがわかります。

この2つの証明書をエクスポートして、移動先のPCにインポートしてやれば起動エラーの問題が解決します。

 具体的手順ですが、まず2つの証明書を以下のようにエクスポートします。

 これで1つのファイルに2つの証明書がエクスポートされます。このファイルを移動先のPCにインポートします。

 移動先のPCで certml.msc を起動します。移動元の時に説明した「シールドVMのローカル証明書」ー「証明書」にエクスポートした証明書をインポートするのですが、もし移動先のPCの Hyper-V で TPM を有効にした仮想マシンを作ったことがなければ「シールドVMのローカル証明書」がありません。その場合はダミーの第2世代の仮想マシンを作成して設定で TPM を有効にすれば作成されます。証明書のインポートの手順は以下のとおりです。

インポートが完了すると certlm.msc は以下のようになります。

この状態で、仮想マシンをエクスポートしインポートすれば、正常にに起動できるはずです。

 私は、自宅のPC上のHyper-Vで仮想マシンを作成して開発作業を行い。ノートPCに仮想マシンを移して現場に持ち出すということ(あるいは逆も)をしています。ゲストOSがWindows 10の場合は、TPMオフの状態だったので何も気にせずにエクスポート、インポートできていたのですが、TPMオンの Windows 11 ではどうしたらよいのだろうと調査したことが、この記事を書いたきっかけです。

タイトルとURLをコピーしました