Windows11をHyper-VのゲストOSとして稼働させるときには、いくつかのHyper-V側の設定が必要になります。
この設定をまとめましたのでご報告です。
動機となったこと
Windows10サポート終了と同時期にWindows11無償アップグレードも終了してしまう可能性があるため、Hyper-V上にゲストとして稼働しているWindows10をWindows11へアップグレードする必要が出てきました。
また、Windows11の大型アップデートを評価をするためにもHyper-Vのゲストに評価版をインストールしたり、大型アップデートの動作確認なども実機の前にゲストOSで実行することで事前の検証も可能になります。
そこで改めてクライアントHyper-V上にWindows11をインストールするために必要になるオプションや動作条件を記録してまとめておこうと思いました。
Windows11動作要件をおさらい
先にHyper-VホストOSが稼働するWindows側の動作要件を確認しておきましょう。
改めてシステム要件を確認するために以下のURLで内容を確認しました。
■Microsoft:Windows 11 の仕様、機能、コンピューターの要件を確認する
https://www.microsoft.com/ja-jp/windows/windows-11-specifications?r=1
上記URLのページにはたくさんの要件が記載されていますが、Windows11が動作する要件としてはWindows10が動作するハードウェア要件に加えて、CPUがIntel Core8世代以降で、メモリ4GB以上、TPM2.0などがWindows11固有の要件として上乗せされています。
これ以降は、Hyper-VホストOSとなるコンピュータが上記の要件を満たしてWindows11が動作する環境でクライアントHyper-Vを導入している前提で進めます。
その1:ゲストOSの世代を第2世代にする
仮想マシンの新規ウィザードでゲストOSの環境を構成する時に、Windows11を動作させるにはUEFIベースの第2世代で構成する必要があります。
仮想マシンの新規作成ウィザードで、上記のように「第2世代」を選択して仮想マシンを構成します。
その2:ゲストOSの設定⇒セキュリティ
ゲスト環境を作成したのち、起動前に設定をしていきます。
ゲストOSを右クリックして「設定」を選択して、設定画面から「セキュリティを選択します。
第2世代だと既に(デフォルトで)「セキュアブートを有効にする」がチェックされて有効化されているのですが、「トラステッド プラットフォーム モジュールを有効にする」はチェックが外れているので、このチェックを入れて有効化しておきます。
※TPM2.0かそれ未満のTPM1.xかは、ホストOSがインストールされているPC(サーバ)環境に依存しますので、バージョンを気にする必要はないようです。
その3:ゲストOS:プロセッサの設定
ゲストOS固有の設定にプロセッサの数を指定することができるのですが、
この部分の仮想プロセッサの和がデュアルコア以上(上記のように「2」以上)となっている必要があります。コア数×1ではゲストOSであるWindows11のインストール要件が満たせません。
概ね「2」以上になっていると思うので、確認をしておくようにします。
要件を満たしていない場合のエラーメッセージ
ここまでの設定を実施していない場合(設定が抜けているorハードウェア要件が満たせていないHyper-V環境でWindows11 ISOメディアでインストーラを起動した場合)には、インストーラ自体は起動するものの、途中で以下の画面が表示され、Windows11インストールが進めなくなってしまいます。(非対応ハードウェアへWindows11のインストールを実施した時と同じ動作となります。)
タイミングとしては「適用される通知とライセンス条項」(マイクロソフトソフトウェアライセンス条項への同意)画面の直前にPC検証プロセスが動作して、上記画面が表示されます。
対応している環境であれば、上記画面のエラーは表示されず、「適用される通知とライセンス条項」画面へ。遷移します
ハードウェアがWindows11対応ハードウェアで、ホストOSがWindows11だとその上で動作するクライアントHyper-V環境も(ここまでの設定さえしてあれば)エラー画面が表示されることなくインストールを完了させることができました。
ちょっとしたメモリの話
Hyper-VではゲストOSで使用するメモリ量をHyper-V画面で指定することができますが、このメモリの使用量はデフォルトだとあるだけ使う、という感じになっています。
Windows11動作要件にあるように、最低限はメモリ4GBが必要なので起動時のRAM(画面上部)には 4096 MBを入力しておくというのは妥当なのですが、その下の「動的メモリ」の欄で最大限使っていいメモリ容量を指定しておくと良いと思います。
例えば、
このように最大RAMとして 8192 MBと指定しておけば、8GB以上のメモリをゲストOSが消費することはなくなります。ホストOSの搭載メモリ容量と相談となりますが、ゲストOSが忙しくなってメモリを消費することになったとしても、他の環境に影響しないよう動的メモリの最大メモリ容量の値は調整しておいたほうがいいと思います。