Debian
Debian Jessie Qemu KVM GPU Passthrough to Windows Virtual Machine guest Virt-Manager error Bus PCI not found
我遇到了 Virt-Manager 不想啟動 VM 並給出錯誤的問題:
Error starting domain: internal error: process exited while connecting to monitor: char device redirected to /dev/pts/3 (label charserial0) qemu-system-x86_64: -device ioh3420,bus=pci,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1: Bus 'pci' not found
如果我點擊詳細資訊,這裡是完整的錯誤:
Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/asyncjob.py", line 96, in cb_wrapper callback(asyncjob, *args, **kwargs) File "/usr/share/virt-manager/virtManager/asyncjob.py", line 117, in tmpcb callback(*args, **kwargs) File "/usr/share/virt-manager/virtManager/domain.py", line 1160, in startup self._backend.create() File "/usr/lib/python2.7/dist-packages/libvirt.py", line 917, in create if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self) libvirtError: internal error: process exited while connecting to monitor: char device redirected to /dev/pts/3 (label charserial0)
qemu-system-x86_64: -device ioh3420,bus=pci,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1: 找不到匯流排 ‘pci’
我通過 virsh edit 手動將一些命令行內容添加到 VM 的 xml 配置中,因為 virt-manager 沒有這些選項,即用於 GPU BIOS 文件等。這裡是 qemu 命令行標籤:
<qemu:commandline> <qemu:arg value='-device'/> <qemu:arg value='ioh3420,bus=pci,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=04:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on,romfile=/home/me/Downloads/Sapphire.R9280X.3072.131127_2.rom'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=04:00.1,bus=root.1'/> <qemu:arg value='-bios'/> <qemu:arg value='/usr/share/seabios/bios.bin'/> <qemu:arg value='-cpu'/> <qemu:arg value='host,kvm=off'/> </qemu:commandline>
unname -a
Linux vmserver 3.16.0-customvmkernel #1 SMP Sun Sep 28 00:34:42 PDT 2014 x86_64 GNU/Linux
kvm –版本
QEMU emulator version 2.1.0 (Debian 2.1+dfsg-4), Copyright (c) 2003-2008 Fabrice Bellard
我將 bus=pcie.0 或 bus=pci 更改為 bus=pci.0 顯然它的名稱取決於 xml 文件中使用的體系結構。使用我的而不是更流行的機器 q35 定義,預設為 pcie.0
它現在啟動沒有那個錯誤。