19.10 Ubuntu 主机在 Windows 10 qemu 安装期间完全冻结

19.10 Ubuntu 主机在 Windows 10 qemu 安装期间完全冻结

Ubuntu 19.10作为主机,我尝试将 GPU 直通到 Windows 10 来宾。我成功隔离了我的 GTX 1060 并将其传递到虚拟管理器 (libvirt 文档) (主页)

当我尝试安装 Windows 时,它首先在安装过程中复制文件。然后它重新启动虚拟机,当 Windows 继续安装过程时,Ubuntu 永远冻结。我重新启动了 Ubuntu,再次尝试,结果还是在同一个地方发生同样的情况。

您可以在此处详细查看我为启用直通所做的所有操作:KVM GPU 直通:组 15 不可行。请确保 iommu_group 内的所有设备都已绑定到其 vfio 总线驱动程序。'

但简而言之:我编辑了/etc/initramfs-tools/modules iommu组 15 中的所有 4 个 pci 设备。但是,当我在重新启动后运行时,/etc/modules 只有 GTX 1060 被使用。因此,我手动解除绑定并使用我编写的一个小脚本将它们插入 vfio-pci:vfio-pcilspci -nnv

echo -n "0000:07:00.1" > /sys/bus/pci/drivers/snd_hda_intel/unbind
echo -n "0000:07:00.1" > /sys/bus/pci/drivers/vfio-pci/bind

echo -n "0000:07:00.2" > /sys/bus/pci/drivers/xhci_hcd/unbind
echo -n "0000:07:00.2" > /sys/bus/pci/drivers/vfio-pci/bind

echo -n "0000:07:00.3" > /sys/bus/pci/drivers/nvidia-gpu/unbind
echo -n "0000:07:00.3" > /sys/bus/pci/drivers/vfio-pci/bind

之后,我可以成功启动 Windows 10 VM 安装,但它在安装过程中冻结。这可能与我所做的事情有关吗?

PS:由于主机的 GPU 也是 NVIDIA 的,因此我无法简单地阻止 noveau 驱动程序。所以我需要手动解除每个设备的绑定。

答案1

您几乎肯定需要将 nouveau 和 nvidia 设备驱动程序列入黑名单,并设置一个启动脚本,执行上述与 vfio-pci 的绑定,然后明确加载 nouveau/nvidia 内核驱动程序,让它们绑定您之前在脚本中尚未明确绑定到 vfio-pci 的硬件设备。一旦主机端驱动程序污染了设备,该设备在大多数设置中往往不再适用于 pci 直通。

相关内容