はじめに
どの記事を渡り歩いても「code43 error」の解決ができず、解決したので記事にまとめることにしました。
結論から言うとドライバーを当てるタイミングとその時に設定している項目が大切でした。
今回は、Windows 10を使って解説を進めます。11でもほぼ同じように設定してください。
※バージョンは「11/2022」を選択し、TPM2.0の追加を行ってください。
VM作成済みの場合は「VM作成後の追加設定」まで飛んでください。
予備知識
GPU Passthroughをすると一般的に「noVNC」の利用が不可になります
上記解決済み
※今回の方法であればnoVNCを継続して利用することができます。
GPU Passthroughの設定方法
下記記事参照
Windows VMの作成
少し前から種別を「Microsoft Windows」にすると「☑Add additional drive for VirtIO drivers」という項目がでるようになり、あらかじめVirtIOのドライバーISOを選択できるようになりました。
上記リンクの「download the latest stable」からISOをダウンロードして下さい。
この作業を飛ばすとOSのインストールでしくじります
マシン:q35
BIOS:OVMF(UEFI)
EFIストレージ:各自
Qemuエージェント:任意(☑推奨)
- 「ディスク」
SSDの場合「SSDエミュレーション」にチェック
キャッシュは任意で選択
「種別」を正しく選択して下さい
「種別」を正しく選択しないと「code43 error」の原因となります
Ballooningデバイスはチェック解除推奨。
※Ballooningデバイスはメモリを他のVMと共有するかしないかの設定です。
モデルは「VirtIO(準仮想化)」を選択する。
確認を押しVMを作成
VM作成後の追加設定
「追加」>「PCIデバイス」を選択
「Mapped Device」から「Raw Device」に切り替え、パススルーするGPUを選択する。
「全機能」,「PCI-Express」にチェックを入れる
この段階ではまだ「プライマリーGPU」にチェック項目を入れない
「追加」を押し追加されたかを確認する
OSのインストール
「ドライバーの読み込み」からVirtIOのドライバーが入っているISOを指定してバージョンにあったドライバーを追加してください。
追加するドライバーは「viscsi」,「NetKVM」の2つです。初めはドライブが表示されていないと思いますが、「viscsi」のドライバーを当てればドライブが表示されるようになると思います。
viscsiは、ドライブのドライバー
NetKVMは、インターネットのドライバー
となってます。
OSのインストール後にドライバーを当てると不具合の原因になるのでインストール前に必ず行って下さい
グラフィックドライバーを当てる
NVIDIA公式から対応しているグラフィックボードのドライバーをVMにダウンロードして実行して下さい。
インストール完了後、何も変更せずVMをシャットダウンしてください。
シャットダウン後「VM作成後の追加設定」でチェックを入れなかったプライマリーGPUにチェックを入れ「ディスプレイ」を「規定」から「VirtIO-GPU(virtio)」に変更します。
「VirtIO-GPU」以外で設定すると恐らくnoVNCが使えなくなります
変更完了後、再びVMを起動してグラフィックボードから画面の出力がされているか確認してください。
この際GPUはPassthroughしたOSに占有されるのでPROXMOXのコマンドラインは表示されなくなります。コマンドラインを使用する場合は「SSH」やWebGUI上の「シェル」をお使いください。(SSH推奨)
GPU Passthroughが成功するとタスクマネージャーに「GPU」が表示されるようになると思います。
今後について
PassthroughしたGPUを用いてゲームが行えるかの検証をする。