Proxmox VEにWindows 11をインストール

  • Proxmox Virtual Environment 8.3.0
  • virtio-win-0.1.266
  • Windows 11 Pro 24H2

気軽にProxmox Virtual Environmentに手を出したものの、Windows 11のインストールに大変難儀したので要点を掻い摘んで記録しておくものである。インストールにあたっては公式サイトが公開しているWindows 11をインストールする際のベストプラクティスに倣ったが、一部、従っていない。

仮想マシンの作成

まずは安定版のWindows VirtIOドライバを入手し、Proxmoxのストレージ上にアップロードしておく。

図1. Windows VirtIOドライバのISOをアップロード

そうしたら仮想マシンの作成をはじめる。「OS」の項目ではゲストOSのバージョンは11/2022/2025を選択する。そしてVirtIOドライバ用のドライブを追加して、予め準備しておいたWindows VirtIOドライバのISOをセットする。

図2. 「OS」の項目

「システム」の項目ではSCSIコントローラにVirtIO SCSI選択し、「Qemuエージェント」にチェックを入れておく。

図3. 「システム」の項目

「ディスク」の項目では「バス/デバイス」をSCSIにする。また、「キャッシュ」はWrite backを選択する。「中止」にはチェックを入れておく。何が中止なのか判然としないけれども、未使用になったストレージ領域を再使用するのに良さそうな風情であった。英語表記ではDiscardとなっていたから「廃棄」と思えばしっくりくる。

図4. 「ディスク」の項目

あとディスクサイズはデフォルトで32GBであるが、此れはWindows11のシステム要件を満たさずインストールできない。システムドライブは52GB以上用意しろと言うのでおとなしく従うほかない。なお、素直に52GBきっかりのディスクでインストールに臨むと酷い目に遭うから53GB以上にするのが宜しい。

図5. 酷い目に遭う様子

「ネットワーク」の項目ではモデルをVirtIO(準仮想化)にする。これで仮想マシンの作成は終いである。

図6. 「ネットワーク」の項目

Windows 11のインストール

キーボードの種類がデフォルトで英語キーボードになっていたので日本語キーボードに変更する。

図7. 日本語キーボードに変更

セットアップを進めてゆくと「Windows11をインストールする場所の選択」に行き当たる。ディスクがまったく認識されない。適切なドライバが無いためである。ここで「Load Driver」を選択してドライバをインストールする。

図8. 「Load Driver」を選択

「参照」ボタンをクリックして、Windows VirtIOドライバがマウントされているドライブを選択し、vioscsi\w11\amd64を選択して「OK」をクリックするとRed Hat VirtIO SCSI pass-through controllerが表示される。此れを選択して「インストール」をクリックする。

図9. 「参照」ボタンをクリック
図10. Windows VirtIOドライバのドライブを選択
図11. 「vioscsi」を展開
図12. 「w11」を展開
図13. 「amd64」を選択して「OK」をクリック
図14. ドライバをインストール

これで仮想マシンのハードディスクが認識されるようになる。ベストプラクティスに記載の手引ではここで更にRedhat VirtIO Ethernet AdapterVirtIO Balloon Driverも併せてインストールする手筈となっているが、OSインストール後にも導入できそうな気配であるからスキップした。あとは引き続きセットアップを実行して、とうとうWindows 11のインストールが完了する。

図15. ディスクが認識された様子
図16. インストールが完了した直後の様子

Qemu Geust Agent等のインストール

Windows 11のインストールが完了したら続いて以下の3つを導入する。

  • 不足しているドライバとサービス
  • Qemu Guest Agent
  • VirtIO-win guest tools

不足しているドライバとサービス

Windows VirtIOドライバのISOがマウントされているドライブを開き、virtio-win-gt-x64.msiを実行すれば宜しい。この際、OSインストール時にスキップしたドライバや、Qemu Guest Agentに必要なPCIシンプル通信コントローラーのドライバも含め、不足しているドライバやサービスが一度にインストールされる。大変らくちんである。なお、virtio-win-0.1.173-2以降でないとこの恩恵には与れないと言う事であった。

図17. virtio-win-gt-x64.msiを実行
図18. ドライバとサービスのインストールが完了した様子

また、仮想マシンのサマリーにある「メモリ使用状況」もインストール前はぜんぜん嘘っぱちの情報であったけれども、インストールが完了するやいなや正しく表示されるようになった。

図19. メモリ使用状況が正しく表示される様子

Qemu Guest Agent / VirtIO-win guest tools

Qemu Guest Agentは

  • ACPIコマンドやWindowsのポリシーを当てにすることなくゲストOSを適切にシャットダウン
  • Proxmoxでバックアップやスナップショットを作成する際に、ゲストOSのファイルシステムを一時中断し一貫性を向上
  • スナップショット後などで、ゲストOSが一時停止から再開する再にハイパーバイザと直ちに時刻同期

といった目的に使われるというようなことであった。単体でインストールするならWindows VirtIOドライバのISOがマウントされているドライブのguest-agentフォルダにあるqemu-ga-x86_64.msiを実行すれば宜しい。然し乍ら、コンソール接続の際にSPICEを試してみたいのでSPICE Agentも併せて導入したいところである。

Qemu Guest AgentもSPICE Agentも一息にインストールする場合はvirtio-win-guest-tools.exeを実行する。インストール後にOSの再起動をしたら完了である。

図20. virtio-win-guest-tools.exeを実行
図21. VirtIO-win guest toolsのインストールが完了した様子

Qemu Geust Agentはサービスとして登録されているようで、PowerShellから起動状態を確認するにはGet-Service QEMU-GAを実行する。RunningとなっていればQemu Guest Agentが起動している。

PS C:\Users\guro> Get-Service QEMU-GA

Status Name DisplayName
------ ---- -----------
Running QEMU-GA QEMU Guest Agent
図22. Qemu Guest Agentの起動確認

また、ProxmoxのUnixソケット/var/run/qemu-server/[vmid].qgaを介してQemu Guest Agentと通信するということであった。[vmid]は仮想マシンのIDである。疎通確認をするにはqm agent [vmid] pingを実行する。

# qm agent [vmid] ping
図23. Qemu Guest Agentとの疎通確認

これでようやっとインストールが完了した。時折、仮想マシンが起動しないなどの不審な点はあるものの概ね快適である。

コメントする

This site uses Akismet to reduce spam. Learn how your comment data is processed.