Proxmox VE 7.x(2) - ゲストOSにWindows10/Windows11の導入

Windows10/Windows11のインストールにはVirtIOドライバの読み込みが必要です。

VirtIOドライバISO取得

Proxmox VE 公式手順(Windows VirtIOドライバ)
https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers

こちらからダウンロードして、Windowsのインストール用ISOとあわせてProxmox-VEのISOフォルダにアップロードしておきます。
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

「local(pve)」>「ISOイメージ」にアップロードします。実際に置かれる場所は/パーティションの/var/lib/vz/template/iso ディレクトリです。前半のBlogに書きましたがデフォルトで/パーティションは約100GB(96GB)で、うちシステムOSが3-4GB使っています。

ISOのアップロード先。(日本語名のISOはアンダースコア_に置換されています) 実際は仮想マシンを作ってからですがこのあと、Windows11仮想マシン作るとVMのディスクイメージはLVMボリュームで作成されます。

Windows仮想マシン作成

左ペインで右クリックまたはツールバーの「VMを作成」をクリックします。

全般。VMに名前を付けます。VMwareと違ってほかの仮想マシンの名前と重複しても、100から始まる通し番号で区別されていますので大丈夫です。

OS。ここでISOイメージとOS種類を指定します。

システム。Windows10ではデフォルトで大丈夫ですが、Windows11ではBIOSに「OVMF(UEFI)」、TPMストレージは「local-lvm」、バージョンは「v2.0」を指定します。TPMは書き込み可能なストレージ領域が必要なためです。また忘れずにQEMUエージェントにもチェックを入れ有効にします。ゲストOSでエージェントプログラムを動かしていると、仮想ホストから仮想ゲストのIPアドレスを取得できるなど状態を取得できるようになります。

ディスク。virtioを選択します。容量は適当に。

ネットワーク。e1000だとこのままドライバ追加なしで接続できますが

ネットワーク。準仮想化のvirtioを選択するとOSインストール後にドライバを読み込んでから認識されます。ギリギリまで性能を求めるなら準仮想化を選択します。気にしないならどちらでもいいのですが、このあとマイクロソフトアカウントを使わないでセットアップする場合は準仮想化のvirtioを選んでおくとネットワークが切れた状態で初期セットアップになりますので都合が良いかなと思います。

CPUとメモリは必要な分を割り当て、確認で「詳細設定」にチェックが入っていることを確認して「完了」

ドライバを読み込ませるためハードウェアにCDROMを追加し、virtio-win.isoをマウントします。

作成したVMを起動してWindowsインストールISOイメージで立ち上げます。VirtIOのディスクのためインストーラはハードディスクを認識していませんが、ドライバを読み込ませると認識します。

CD-ROMの「amd64/win11」フォルダを指定します。

Windows11でMicrosoftアカウントをスキップするとき

22H2では、個人用・職場または学校用 どちらを選んでもマイクロソフトアカウントを求められます。スキップするときは(1)ネットワークは切断し(2)「国または地域はこれでよろしいですか」のあと次のように操作します。

「Shift+F10」
「cd oobe」
「BypassNRO.cmd」

再起動します。このときネットワークからは切断しておくことが必要です。ネットワークに準仮想化VirtIOを選んでおけば、ネットワークは切れた状態で立ち上がりますので一石ニ鳥です。

「ネットワークに接続しましょう」でインターネットに接続していませんを選択。

制限された設定で続行 をクリックするとローカルアカウントでインストールが完了します。

参考

「Windows 11 Home(22H2)」で「ネットワークに接続しましょう」をスキップしてローカルアカウントを作成する方法
https://gigazine.net/news/20221201-windows-11-home-local-account/

「ネットワークに接続しましょう」の画面が表示されたら「Shift+F10」キーを押すとコマンドプロンプトが開くので「cd oobe」と入力してEnterキーを押します 次に「BypassNRO.cmd」と入力してEnterキーを押します セットアッププロセスが中断され、再起動されるので、再び「ネットワークに接続しましょう」の画面まで進みます

最後にマウントしてあるvirtio-win.isoからvirtio-win-gt-x64を実行してドライバのインストール

仮想マシン用の各種ドライバをセットアップします。ネットワークカードにvirtioを選んだ場合は、OSインストール後にこのツールをセットアップするとネットワークカードを認識するようになります。

このとき同時にQEMUエージェントもインストールされ、ホストからゲストの状態を取得できるようになります。もしホストからゲストのIPアドレスを取得できていないようなら、仮想ゲスト設定でQEMUエージェントのチェックが入っていないと思われますので見直してください。

ホストからゲストのIPが取得できていないとき。

オプション でQEMU Guest Agent 項目が無効になっていれば有効に変更します。

トラブルシュート

VMwareと違ってちょっとしたことでゲストOSが動かなくなります。こんな場合ターミナルからコマンドで対応します。

ゲストOSをシャットダウンできない

kill -9 プロセス番号

2188 ?        Sl     1:29 /usr/bin/kvm -id 101 -name Win11-1,debug-threads=on -no-shutdown -chardev socket,id=qmp,path=/var/run/qe

ゲストOSがVM is locked (suspending)となって起動しない

qm unlock プロセス番号

/var/log/syslog
May 10 11:07:18 pve pvedaemon[1889]: start VM 101: UPID:pve:00000761:00008CDF:645AFC56:qmstart:101:root@pam:
May 10 11:07:18 pve pvedaemon[998]:  starting task UPID:pve:00000761:00008CDF:645AFC56:qmstart:101:root@pam:
May 10 11:07:18 pve pvedaemon[1889]: VM is locked (suspending)
May 10 11:07:18 pve pvedaemon[998]:  end task UPID:pve:00000761:00008CDF:645AFC56:qmstart:101:root@pam: VM is locked (suspending)

Proxmox VEのネットワーク

VMwareは仮想スイッチを作ってからになりますが、Proxmox-VEにはそういうのがなくて、Linuxのインタフェースの考え方ままというのも勝手が違いますね。

まずProxmox-VEは、ブリッジインタフェースしか仮想マシンに割り当てできません。

複数の物理インタフェースをハードウェアで持っていて負荷分散したいときはそれぞれでブリッジを作ります。

VLANについてはLinuxの考え方でいくつか方法がありますので次の記事にまとめることにします。

続く。

Proxmox-VE、検証環境としては良いですね!

コメント

このブログの人気の投稿

OfficeのISOダウンロード直リンク

FortiGateシリーズ 40F/50E/60E/60F/80F/90E/100E/100F/200FのCPU

ネクストのIPv6網内折り返し通信で高速VPN