kvm+vfio+vga 直通,未找到“root.1”

kvm+vfio+vga 直通,未找到“root.1”

我有一个使用 KVM 的 64 位 Windows VM。我想尝试 VGA 直通。我使用以下命令启动了 VM:

qemu-system-x86_64\
 -monitor stdio\
 -enable-kvm -m 2048 -no-fd-bootchk -localtime -M q35\
 -bios /usr/share/qemu/bios.bin\
 -hda /home/xi/.aqemu/Windows_XP_x64_HDA.img -boot once=c,menu=off -net nic,vlan=0 -net user,vlan=0\
 -name "Windows XP x64"\
 -device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on\
 -vga none

但我立即收到此错误:

QEMU 2.1.2 monitor - type 'help' for more information
(qemu) qemu-system-x86_64: -device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on: Bus 'root.1' not found

我按照以下步骤准备我的系统指导。

我的硬件(笔记本电脑):

  • 英特尔酷睿 i5
  • Intel IGD 和 Nvidia m630 (我猜?)

答案1

您没有包括类似以下内容:

-device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1

前:

-device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on

ioh3420 是 QEMU 模拟的连接 PCI-E 设备所需的 PCI-E 根端口驱动程序。

您可能会遇到的第二个问题是,您的显卡有音频接口,您也应该添加它。

我的工作命令是:

qemu-system-x86_64 -enable-kvm -M q35 -m 2048 -smp 4,sockets=2,cores=2,threads=1 -cpu kvm64 -device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1 -device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,romfile=gpu0.rom,x-vga=on -device vfio-pci,host=01:00.1,bus=root.1,addr=00.1 -drive file=cdrom.iso,id=isocd -device ide-cd,bus=ide.1,drive=isocd -drive file=hdd.img,id=hdd -device ide-hd,bus=ide.0,drive=hdd -rtc base=localtime -boot d -vga none -bios /usr/share/seabios/bios.bin

相关内容