我想在 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。
錯誤 12:「該裝置無法找到足夠的可用空間(代碼 12)」問題顯示在裝置屬性視窗的裝置狀態方塊中。該錯誤通常是硬體衝突,當兩個裝置被分配相同的 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 韌體才能使其工作,並且您可能必須編輯虛擬機器的 XML 定義,因為 virt-manager 無法幫助您完成所有操作。這是我在整理同類時的經驗總結具有 GPU 直通功能的虛擬遊戲設置。
VM 定義的一個明顯問題是您使用的 q35 仿真。這對於 PCI 直通仍然不起作用,您需要使用 440fx。