配置 KVM 显卡直通,无法读取 vBIOS ROM - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Menci
V2EX    Linux

配置 KVM 显卡直通,无法读取 vBIOS ROM

  •  
  •   Menci
    Menci 2019-09-21 22:27:12 +08:00 7376 次点击
    这是一个创建于 2300 天前的主题,其中的信息可能已经有所发展或是发生改变。

    正确配置 vfio-pci 并移除 i915 模块后添加 -device vfio-pci,host=00:02.0 启动虚拟机,报错:

    qemu-system-x86_64: vfio-pci: Cannot read device rom at 0000:00:02.0 Device option ROM contents are probably invalid (check dmesg). Skip option ROM probe with rombar=0, or load from file with romfile= 

    dmesg 的错误信息:

    [ 1271.531853] vfio-pci 0000:00:02.0: enabling device (0400 -> 0403) [ 1271.639246] vfio_ecap_init: 0000:00:02.0 hiding ecap 0x1b@0x100 [ 1272.865197] vfio-pci 0000:00:02.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff 

    添加 rombar=0 参数后虚拟机可启动,但显卡直通不工作。按照一些英文资料中的说法,在显卡在主机上工作时,dump 显卡的 vBIOS ROM:

    # cd /sys/bus/pci/devices/0000\:00\:02.0 # echo 1 > rom # cat rom > /tmp/rom cat: rom: Input/output error 

    此时 dmesg 的输出与上述类似。搜索了这些错误信息后发现,又多例使用 UEFI 引导无法读取,但使用 Legacy 引导成功读取的例子,但我的机器并不支持 Legacy 引导。如何解决?

    显卡型号是 HD520。

    5 条回复    2019-09-22 13:28:57 +08:00
    geekvcn
        1
    geekvcn  
       2019-09-22 09:21:13 +08:00
    内核启动参数,GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off"
    内核模块 /etc/modules 加上
    vfio
    vfio_iommu_type1
    vfio_pci
    vfio_virqfd
    显卡驱动全部加到黑名单(提前开好 ssh 等远程连接):
    echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf
    echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
    echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf
    update-initramfs -u
    剩下的就是常规操作,确定设备 ID,设置直通,UEFI 下核显不支持,没戏,核显 vbios 写在主板 BIOS 里面的
    geekvcn
        2
    geekvcn  
       2019-09-22 09:24:28 +08:00
    但我的机器并不支持 Legacy 引导。如何解决?别折腾了,直接用 virtio-gpu (有性能损耗仅限基础使用),或者买张独显
    py2ex
        3
    py2ex  
       2019-09-22 10:58:44 +08:00
    买张独显
    danchleo
        4
    danchleo  
       2019-09-22 13:05:26 +08:00 via Android
    集显用 intel-gt 吧,独显把 vbios 导出来,其余动作和一楼说的一样的,最好系统是 uefi 引导的
    okudayukiko0
        5
    okudayukiko0  
       2019-09-22 13:28:57 +08:00 via iPhone   1
    集的 Video BIOS 是存在主板 BIOS 的,用 UEFITool 打主板 BIOS,把 GOP(Graphics Output Protocol )模提取出,就是 UEFI Video Driver,QEMU 可以用命令列 Load OpROM。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3615 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 04:27 PVG 12:27 LAX 20:27 JFK 23:27
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86