Nutanix AHV上にWindows 11 仮想マシンを作成する
Nutanix AHVも最新バージョンでようやくWindows 11の起動に対応したため、実際に作成しました。
現状では、PrismのGUIだけでなく、一部コマンド実行などが必要となります。
毎回作成の度に調べるのも大変だと思うので、こちらにメモします。
Nutanix環境要件
- AOS バージョン 6.5.1 以降
- AHV バージョン 20220304.242 以降
※ブログ投稿時点では、コンパチマトリクスに「AHV-20220304.242」は記載されていないため、ご利用は自己責任でお願いします。 - VirtIO ドライバー バージョン 1.2.1 以降
Windows 11 システム要件
Microsoft Windows 11 システム要件からの抜粋です。
要件を満たさない場合、OSインストールできないことがあります。
Windows 11 の仕様とシステム要件 | Microsoft
- CPU:1 GHz で 2コア以上、64 bit 対応。
- メモリ:4 GB 以上
- ストレージ:64 GB 以上
- システム:UEFI 、セキュアブート
- vTPM: Virtual Trusted Platform Module バージョン 2.0
実際にやってみた
Nutanix環境情報の確認
Nutanixクラスターのバージョンが、AOS 6.5.1、AHV-20220304.242であることがわかります。
メディアのダウンロード
予め必要なメディアをダウンロードし、Nutanixイメージサービスに登録しておきます。(イメージサービスの登録は手順から割愛)
Windows 11
Windows 11のISOファイルはこちらからダウンロードしました。
私がダウンロードし、今回使ったのは「Win11_22H2_Japanese_x64v1」です。
https://www.microsoft.com/ja-jp/software-download/windows11
VirtIOドライバー
Nutanixサポートポータルから最新のVirtIOドライバーを入手します。
私がダウンロードし、今回使ったのは「Nutanix-VirtIO-1.2.1」です。
https://portal.nutanix.com/page/downloads?product=ahv
仮想マシンの作成
Prismを操作し、Windows 11をインストールための仮想マシンを作成します。
今回、仮想マシンには必要最低限のリソースを割り当てています。
CPUとメモリ
Boot モード
Window 11ではUEFIおよびセキュアブートを設定する必要があります。
大事なところなので少し丁寧に紹介します。
②UEFIとLegacy Bootによる、ディスク イメージ フォーマットの違いについてメッセージがでますので、OKをクリックします。
③UEFIが選択されましたが、セキュアブートをチェックできません。
これは、デフォルトで作られたCD-ROMドライブがUEFIで対応していないIDE規格で接続されているためです。
④デフォルトで作成されたCD-ROMを削除します。
IDE接続のCD-ROMがなくなったことでセキュアブートにチェックができるようになりましたので、チェックします。
Disk
①新たにCD-ROMを作成します。
バスタイプはSATA、イメージには予めイメージサービスに登録したWindows 11のISOをマウントしておきます。
②新たにディスクを追加します。
Windows 11インストール領域用のディスクを追加します。
NIC
ネットワークアダプターを追加します。
Windows 11ではOSインストール時にインターネットに繋がる必要があるため、DHCPからIPアドレスが払い出されるネットワークか、AHVのIPAM機能を有効にしたNICを追加すると良いです。
vTPM 有効化
Windows 11では、Trusted Platform Module(TPM)バージョン 2.0のデバイスを搭載している必要がありますが、仮想マシンで起動する場合はハイパーバイザーから仮想的に見せるvTPMを用います。
現在のAHVでは、仮想マシンのvTPM有効化をaCLIコマンドで実行する必要があります。
①SSHクライアントから、CVMのいずれかにログインします。
②aCLIコマンドを実行し、該当する仮想マシンのvTPMを有効にします。
例)仮想マシン名「Win11-TEST」のvTPM有効化
CVM$ acli vm.update Win11-TEST virtual_tpm=true
Win11-TEST: pending
Win11-TEST: complete
③aCLIコマンドにて、vTPMが有効化されたことを確認します。
例)仮想マシン名「Win11-TEST」のvTPMステータス確認
CVM$ acli vm.get Win11-TEST
~省略~
vtpm_config {
is_enabled: True
model: "kCRB"
version: "2.0"
vtpm_disk_spec {
create {
container_id: 1151
size: 68157440
}
}
vtpm_disk_uuid: "95a4a647-acda-4f16-b40b-9096208be789"
vtpm_storage_vdisk_uuid: "1364acdd-01df-4088-b194-3c7c7450b183"
}
~省略~
これで仮想マシンの作成作業は完了です。
OSインストール
ここからはいよいよWindows 11をインストールしていきます。
メディアブート
①今一度、Windows 11 ISOファイルをマウントしていることを確認し、Prsimから仮想マシンをパワーオンします。
②Launch Consoleから仮想マシンのコンソール画面を表示します。
UEFIのオープンソースコミュニティとして知られる、TianoCoreのロゴが表示されています。メディアの読み込みに数分時間がかかりますので待ちます。
稀にBIOS画面に遷移するケースがありますので、Boot Managerに進み、UEFI QEMU DVD-ROM QM00001を選択して待ちます。
Windows セットアップウィザード
①Windows セットアップウィザードが表示されたら、案内に従い進みます。
②インストール場所については、AHV上Windows OSのお約束としてVirt IOドライバーをインストールします。
Virt IOドライバーのインストール方法は割愛しますが、やり方がわからない方はこちらを参照してください。
Windows 11ウィザード
Windows 11のインストールがほぼ終わり、セットアップ画面に入りました。
案内に従い進めます。
Windows 11のインストールでは、インターネットへの接続の他にマイクロソフトアカウントへのサインインもしくはドメイン参加を求められます。
ネット上には認証を回避してインストールを進める裏技めいた情報が出回っていますが、私がインストールした「Win11_22H2」では裏技を使用することはできませんでした。(ちなみに、少し昔の「Win11_updated_march_2022」で試した際は裏技が使えたため、最新版では仕様変更されでしまった模様です。)
Windows 11インストールの完了です。
留意事項
①Async DRによる仮想マシンの保護ができない
vTPM有効化した仮想マシンは、Nutanixによる保護機能の対象外となります。
プロテクションドメインで仮想マシンを選択したくてもvTPMを有効化した仮想マシンを選択できません。
ただ、仮想マシン一覧から行うスナップショット作成(Take Snapshot)は可能ですので、ローカルで一時的に保護したい程度であればこちらを利用すると良いです。
②ホットプラグ操作不可
セキュアブートを有効にした仮想マシンは、起動したままデバイスの追加削除といった操作がエラーとなります。
③複数同時起動時の注意
vTPM+セキュアブートVMを複数同時起動した場合、起動プロセスが一時停止してしまうそうです。
複数というのがどの程度の台数から起きてしまうのか未検証ですが、VDI製品を扱う場合など複数の仮想マシンを同時起動するケースがあるかと思いますのでワークアラウンド的な対応が求められるかもしれません。
参考ドキュメント
- Windows 11 on AHV
- Securing AHV VMs with Virtual Trusted Platform Module (vTPM)
- Windows 11 support on AHV
- Windows 11 22H2 hangs while booting on AHV
- "Unknown device" in Device Manager of Windows VM running in UEFI mode with Secure boot enabled