Ubuntu 21.10 で qemu-kvm を使用してグラフィック カード (rtx 2080 ti) を経由して Windows 7 x64 ビットを仮想化したいと考えています。うまくいかないので、何が問題なのか理解しようとしています。非常に親切な reddit ユーザーが提案した libvirt の xml コードにいくつかの変更を加えた後、こちらで読むことができます。
https://www.reddit.com/r/VFIO/comments/r81616/how_to_passthru_my_rtx_2080_ti_to_a_windows_vm/
最終的に次の構成になりました:
https://pastebin.ubuntu.com/p/f2MCTf52xg/
残念ながら、UEFI モードでは、Windows 7 は、ネットに接続できてもロゴでフリーズします。BIOS モードでは、モニターがまったくオンになりません。
Windows 7 内に SSH サーバーをインストールし、Linux からそのサーバーに接続しようとして、次のコマンドを発行しました。
mario@MARIETTO-PC C:\Users\mario>wmic path win32_videocontroller get configmanagererrorcode
ConfigManagerErrorCode
0
12
Windows 7 内のグラフィック カードの状態を確認したかったからです。つまり、どのエラーが表示されるかということです。ご覧のとおり、エラー 12 のようです。つまり、デフォルトのグラフィック アダプター (-vga none) がなくても、rtx 2080 ti は動作せず、エラー 12 が報告されるようです。
エラー 12: 「このデバイスは、使用できる十分な空き容量を見つけることができません (コード 12)」という問題が、デバイスのプロパティ ウィンドウのデバイス ステータス ボックス内に表示されます。このエラーは通常、2 つのデバイスに同じ I/O ポートが割り当てられている場合に発生するハードウェアの競合ですが、他の原因もあります。
当初、エラー 12 はデフォルトのグラフィック ディスプレイ アダプターの存在によって発生したものだと考えていましたが、「-vga none」を使用してもエラーは発生するため、原因は別のものであるようです。
少しグーグルで検索してみたところ、このサイトでこのエラーの修正方法を見つけたかもしれません:
https://ubuntuforums.org/showthread.php?t=2414098
彼はこう言う。
私のシステムも非常によく似た設定で、同じコード 12 エラーが発生していました。virt-manager で次の設定を行うことで、動作させることができました: CPUs -> Model -> Haswell-noTSX-IBRS 「ホスト CPU 構成のコピー」を使用すると、問題が発生したようです。
エラーが修正されるかどうかはわかりませんが、試してみましたが、別のエラーが発生しました:
答え1
残念ながら、UEFI か失敗かのどちらかです。VGA パススルー付きの BIOS は正常に動作しません。動作させるには、おそらく別の最新の OVMF UEFI ファームウェアが必要になり、virt-manager では完全には機能しないため、VM の XML 定義を編集する必要があるでしょう。以下は、同じ種類のものを組み立てたときの私の経験の要約です。GPU パススルーを使用した仮想ゲーム セットアップ。
VM 定義に関する明らかな問題の 1 つは、q35 エミュレーションを使用していることです。それでも PCI パススルーでは機能しないため、440fx を使用する必要があります。