求救求助:网卡和USB直通后,打不开VM-windows


Recommended Posts

系统:6.10.0-rc1  和 6.9.0-rc2 都试过了。

HVM: Enabled

IOMMU: Enabled

直通设备:板载USB 和 四口网卡I350

直通方式: downstream & system tool 勾选,flash里面也写了代码

直通: VM里面勾选其中一个网口。

 

问题:再次打开VM,显示GUEST HAS NOT INITIALIZED THE DISPLAY (YET).。一直打不开,CPU全跑到100%

 

请问有遇到相同问题的兄弟姐妹吗?求助求助。

Link to comment

我看了一下VFIO-PCI LOG。好像说没找到。但是不知道具体是什么解决这个问题。

 

Loading config from /boot/config/vfio-pci.cfg
BIND=0000:00:1d.0|8086:8d26 0000:03:00.0|8086:1521 0000:03:00.1|8086:1521 0000:03:00.2|8086:1521 0000:03:00.3|8086:1521
---
Processing 0000:00:1d.0 8086:8d26
Vendor:Device 8086:8d26 found at 0000:00:1d.0

IOMMU group members (sans bridges):
/sys/bus/pci/devices/0000:00:1d.0/iommu_group/devices/0000:00:1d.0

Binding...
Unbound 0000:00:1d.0 from ehci-pci
chown: cannot access '/dev/vfio/27': No such file or directory
Error: unable to adjust group ownership of /dev/vfio/27
---
Processing 0000:03:00.0 8086:1521
Vendor:Device 8086:1521 found at 0000:03:00.0

IOMMU group members (sans bridges):
/sys/bus/pci/devices/0000:03:00.0/iommu_group/devices/0000:03:00.0

Binding...
chown: cannot access '/dev/vfio/29': No such file or directory
Error: unable to adjust group ownership of /dev/vfio/29
---
Processing 0000:03:00.1 8086:1521
Vendor:Device 8086:1521 found at 0000:03:00.1

IOMMU group members (sans bridges):
/sys/bus/pci/devices/0000:03:00.1/iommu_group/devices/0000:03:00.1

Binding...
chown: cannot access '/dev/vfio/30': No such file or directory
Error: unable to adjust group ownership of /dev/vfio/30
---
Processing 0000:03:00.2 8086:1521
Vendor:Device 8086:1521 found at 0000:03:00.2

IOMMU group members (sans bridges):
/sys/bus/pci/devices/0000:03:00.2/iommu_group/devices/0000:03:00.2

Binding...
chown: cannot access '/dev/vfio/31': No such file or directory
Error: unable to adjust group ownership of /dev/vfio/31
---
Processing 0000:03:00.3 8086:1521
Vendor:Device 8086:1521 found at 0000:03:00.3

IOMMU group members (sans bridges):
/sys/bus/pci/devices/0000:03:00.3/iommu_group/devices/0000:03:00.3

Binding...
chown: cannot access '/dev/vfio/32': No such file or directory
Error: unable to adjust group ownership of /dev/vfio/32
---
vfio-pci binding complete

Devices listed in /sys/bus/pci/drivers/vfio-pci:
lrwxrwxrwx 1 root root 0 Oct 22 01:51 0000:00:1d.0 -> ../../../../devices/pci0000:00/0000:00:1d.0
lrwxrwxrwx 1 root root 0 Oct 22 01:51 0000:03:00.0 -> ../../../../devices/pci0000:00/0000:00:02.0/0000:03:00.0
lrwxrwxrwx 1 root root 0 Oct 22 01:51 0000:03:00.1 -> ../../../../devices/pci0000:00/0000:00:02.0/0000:03:00.1
lrwxrwxrwx 1 root root 0 Oct 22 01:51 0000:03:00.2 -> ../../../../devices/pci0000:00/0000:00:02.0/0000:03:00.2
lrwxrwxrwx 1 root root 0 Oct 22 01:51 0000:03:00.3 -> ../../../../devices/pci0000:00/0000:00:02.0/0000:03:00.3

ls -l /dev/vfio/
ls: cannot access '/dev/vfio/': No such file or directory

Link to comment
24 minutes ago, lyqalex said:

机器不是越新越好,要匹配你的实体机,把硬件和虚拟机配置贴出来看看。

明白。请看下配置

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm'>
  <name>Windows 10</name>
  <uuid>a6ac7f03-b12c-cf8e-716b-033b85f50838</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>25165824</memory>
  <currentMemory unit='KiB'>25165824</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>16</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='8'/>
    <vcpupin vcpu='1' cpuset='24'/>
    <vcpupin vcpu='2' cpuset='9'/>
    <vcpupin vcpu='3' cpuset='25'/>
    <vcpupin vcpu='4' cpuset='10'/>
    <vcpupin vcpu='5' cpuset='26'/>
    <vcpupin vcpu='6' cpuset='11'/>
    <vcpupin vcpu='7' cpuset='27'/>
    <vcpupin vcpu='8' cpuset='12'/>
    <vcpupin vcpu='9' cpuset='28'/>
    <vcpupin vcpu='10' cpuset='13'/>
    <vcpupin vcpu='11' cpuset='29'/>
    <vcpupin vcpu='12' cpuset='14'/>
    <vcpupin vcpu='13' cpuset='30'/>
    <vcpupin vcpu='14' cpuset='15'/>
    <vcpupin vcpu='15' cpuset='31'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-q35-6.0'>hvm</type>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vendor_id state='on' value='none'/>
    </hyperv>
  </features>
  <cpu mode='host-passthrough' check='none' migratable='on'>
    <topology sockets='1' dies='1' cores='8' threads='2'/>
    <cache mode='passthrough'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='hypervclock' present='yes'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/Windows 10/vdisk1.img'/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <controller type='pci' index='0' model='pcie-root'/>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x10'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x11'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x12'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x13'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0x14'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
    </controller>
    <controller type='pci' index='6' model='pcie-to-pci-bridge'>
      <model name='pcie-pci-bridge'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:81:e3:03'/>
      <source bridge='br0'/>
      <model type='virtio-net'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='0.0.0.0' keymap='en-us'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <audio id='1' type='none'/>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
</domain>
 

Link to comment
10 minutes ago, lyqalex said:

我估计是直通网卡没成功,尽量不要自己修改flash vfio-pci.cfg,就算勉强直通,也不稳定 。unraid~工具~系统设备抓图看看,直通网卡那块。虚拟机配置抓图,看模板费劲。

 

给。感谢帮忙!

 

FireShot Capture 001 - Tower.png

1.png

2.png

3.png

4.png

5.png

ERROR 1.png

ERROR2.png

Link to comment

应该是直通网卡没有开启成功,是分组了,也打了勾,但信息显示这几个组没有正确开启,试试把虚拟机设置里面PCIe ACS 覆盖选择both,另外把不安全中断也打勾,重启看看。可行的话再取消不安全中断试试。

另外你的服务器硬件是什么,IOMMU分组数怎么这么多,抓整个系统设备图看看,

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.