我想在 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。因此,似乎我的 rtx 2080 ti 即使没有默认图形适配器(-vga none),也无法工作,报告错误 12。
错误 12:设备属性窗口的设备状态框中显示“此设备无法找到足够的可用空间(代码 12)”问题。该错误通常是硬件冲突,当两个设备分配了相同的 I/O 端口但也有其他原因时就会发生。
一开始我以为错误 12 是由于默认图形显示适配器的存在而导致的,但看起来似乎是另一个原因,因为如果我使用“-vga none”,它仍然存在。
我用 Google 搜索了一下,也许我在这个网站上找到了针对此错误的修复方法:
https://ubuntuforums.org/showthread.php?t=2414098
他说:
我的系统有一个非常相似的设置,它给了我相同的代码 12 错误。我能够使用 virt-manager 中的以下设置使其工作:CPU -> 型号 -> Haswell-noTSX-IBRS 使用“复制主机 CPU 配置”似乎给我带来了问题。
即使我不确定它是否能修复该错误,我也尝试过,但发生了另一个错误:
答案1
恐怕要么 UEFI,要么破产。带有 VGA 直通的 BIOS 永远无法正常工作。您可能需要不同的、更新的 OVMF UEFI 固件才能使其工作,并且您可能必须编辑 VM 的 XML 定义,因为 virt-manager 无法让您完全做到这一点。以下是我在组装相同类型的 BIOS 时的经验总结具有 GPU 直通的虚拟游戏设置。
您的 VM 定义有一个明显的问题,就是您使用的是 q35 仿真。这仍然不适用于 PCI 直通,您需要使用 440fx。