求助: N100 使用 PVE 直通 GPU 给 Windows 报设备错误,代码 43 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
weareoutman
V2EX    NAS

求助: N100 使用 PVE 直通 GPU 给 Windows 报设备错误,代码 43

  •  
  •   weareoutman 192 天前 3192 次点击
    这是一个创建于 192 天前的主题,其中的信息可能已经有所发展或是发生改变。

    PVE 直通 N100 的核显已设置好,Windows 11 设备管理器可以看到 GPU 信息,但报告设备有问题,代码 43 ,任务管理器里没有 GPU 信息。

    Google 了很多方式都不行,实在不行可能会改成 vGPU 方案,参考这个 https://www.derekseaman.com/2024/07/proxmox-ve-8-2-windows-11-vgpu-vt-d-passthrough-with-intel-alder-lake.html

    22 条回复    2025-04-04 09:33:47 +08:00
    Tiking
        1
    Tiking  
       192 天前
    cpu 类型 host
    weareoutman
        2
    weareoutman  
    OP
       192 天前
    @Tiking 之前的 cpu 确实是其他的,后来改成 host 了,还是不行。

    完整的硬件信息:
    ![]( )
    sparkinglemon
        3
    sparkinglemon  
       192 天前
    很久以前弄过一个 HD4600 的直通,不知道现在还适用不了,需要编辑机器的 qemu 设置

    vim /etc/pve/nodes/<YOUR_NODE_NAME>/qemu-server/<VM_ID>.conf

    如果已经有 hostpci0 一行,请将其删除或注释,并在文件中增加一行( 00:02.0 是我的 VGA 设备 id ,请对应替换为你的设备 id 。):

    args: -device vfio-pci,host=00:02.0,x-igd-opregion=on

    但是我这个好像当时需要设置为 SeaBIOS 那个模式,具体忘记了。

    https://blog.sparkle.im/post/intel-hd4600-pve

    参考的原始论坛帖子: https://forum.proxmox.com/threads/i5-4440-hd-4600-passthrough-code-43.75322/post-339028
    aloxaf
        4
    aloxaf  
       192 天前
    其实 i915-sriov-dkms 的 README 写了,需要提取一份 EFI 固件: https://github.com/strongtz/i915-sriov-dkms?tab=readme-ov-file#extract-graphics-efi-firmware

    我前段时间按照这个步骤成功直通了 N100 的 GPU 给 Win10 ,不想提取的话网上这里有人收集了其他人的提取结果,也可以试试 https://yangwenqing.com/archives/1768/
    objectgiga
        5
    objectgiga  
       192 天前
    不需要,我配置 SRiov 虚拟化的时候也是折腾半天,结果手动安装最新的 I 卡驱动即可,只要你在 pve 那边配置没问题,系统自动装的驱动有问题
    irrigate2554
        6
    irrigate2554  
       192 天前
    坑很多的放弃吧,我现在都主机 Win 跑需要 GPU 的业务,hyper-v 虚拟机跑其他业务
    Jacksu
        7
    Jacksu  
       192 天前
    @aloxaf 直接直通并不需要,这不是 sriov ,正常来说你直通配置好了,win 里面安装驱动就行了。
    irrigate2554
        8
    irrigate2554  
       192 天前
    别说你现在都没搞通,我之前都搞通了,不管是直通还是 vGPU 都还有一些坑,比如虚拟机跑时间了就卡死,重启就不识别,偶尔就掉驱动。
    redbeanzzZ
        9
    redbeanzzZ  
       192 天前
    你的 pve 什么版本啊,以前用的 6 版本的显卡直通还很麻烦,也出现过你这个问题。7 以后甚至能拆分 gpu 了。
    chinanala
        10
    chinanala  
       192 天前
    ### 贴一段我几个月前折腾 PVE win 显卡直通的笔记,也是折腾好几天看了好多教程才搞定。网上有很多 Vgpu 的方案,我只有一台 win 需要显卡直通,所以用独享直通方案。


    PVE8 以后内核默认支持直通,不需要修改内核启动参数,很多教程都严重滞后。
    #引用教程 [PVE8.2 核显直通到 Windows10 https://www.meowpass.com/pages/4bd3bc/]
    args: 这个参数用于向 QEMU 传递额外的命令行参数,以进一步配置虚拟机。

    Win10LTSC 虚拟机主要几个选项设置如下:
    16G/8C/UFEI/none/PCi440fx9.0/SCSI/EFI/QGA 启用

    配置文件增加 [/etc/pve/qemu-server/202.conf]
    args: -set device.hostpci0.addr=02.0 -set device.hostpci0.x-igd-gms=0x2 -set device.hostpci0.x-igd-opregion=on
    hostpci0: 0000:00:02,legacy-igd=1,romfile=intel-11-14.rom

    完成以上两项配置后启动虚拟机,此时 PVE 控制台是看不到 win 画面的,本地起 mstsc 直接进,系统显卡驱动终于能识别且正常工作。把显卡直通给虚拟机后,支持 PVE 宿主机启动选择进入 PVE 还是 Win ,实现一机两用。

    参数解释:
    args: 这个参数用于向 QEMU 传递额外的命令行参数,以进一步配置虚拟机。
    -set device.hostpci0.addr=02.0: 设置直通的 iGPU 设备地址。02.0 是设备的 PCI 地址。
    -set device.hostpci0.x-igd-gms=0x2: 配置 iGPU 的图形内存大小( GMS ,Graphics Memory Size )。0x2 代表一个特定的内存大小值(具体含义请参考相关文档或硬件规格)。
    -set device.hostpci0.x-igd-opregion=on: 启用 iGPU 的 OpRegion 支持,OpRegion 是一个 BIOS 扩展,用于操作系统与 iGPU 之间的通信。
    hostpci0: 0000:00:02.0: 这是直通的 iGPU 设备的 PCI 地址。
    legacy-igd=1: 这个参数用于启用 iGPU 的传统模式支持,确保 iGPU 能够在虚拟机中正确初始化和工作。
    romfile=n100.rom: 指定用于 iGPU 的 VBIOS 文件(在前面步骤中你放置到/usr/share/kvm/目录下的 vbios_gvt_uefi.rom 文件)。

    最重要的 [romfile=n100.rom] 从网上搜索下载人家调试好的 [https://www.meowpass.com/assets/page-img/2024/20240703/n100.rom]
    THESDZ
        11
    THESDZ  
       192 天前
    参考这个开的虚拟化 https://yangwenqing.com/archives/1797/
    ps: 教程中的 https://github.com/strongtz/i915-sriov-dkms 请直接看 github 的 readme
    ps: 务必更新内核,且按照 github 安装内核的`headers`和`kernel`
    sayoll
        12
    sayoll  
       192 天前 via Android   1
    https://github.com/gangqizai/igd 用这个吧,好像最新 win 要装最新 inter 显卡驱动不然 43
    wuyadaxian
        13
    wuyadaxian  
       192 天前
    i915 和 xe 驱动在 proxmox 主机上加入了黑名单吗?
    直通的话,proxmox 主机不能加载 i915 和 xe 驱动,应该交由虚拟机去加载驱动。
    qianxaingmoli
        14
    qianxaingmoli  
       192 天前
    之前 pve7 直通 win ,报资源不足的错误。把 uefi 引导改成 Legacy 就好了。
    Tiking
        15
    Tiking  
       192 天前
    GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on pcie_acs_override=downstream i915.enable_guc=3 i915.max_vfs=7"

    供参考
    yekern
        16
    yekern  
       192 天前
    pve8 核显直通,win11
    https://imgur.com/a/IOIGjjA
    yekern
        17
    yekern  
       192 天前
    我看的你的配置核显没有开启虚拟化, 直接把主显卡分配给虚拟机了
    yjw06282
        18
    yjw06282  
       192 天前
    之前这么折腾了好久, 直通可以了.hdmi 声音还不行,. 最后还是搞不定

    最后 win 当宿主机, hyper-v 里跑 pve,
    weareoutman
        19
    weareoutman  
    OP
       192 天前
    @yekern 没有开虚拟化,我看文档 viommu 是给嵌套虚拟机的,我这不需要,直通就可以。但是我也试了加上 viommu=intel 的参数,结果开机没响应了...

    @yjw06282 我的主力是 mac, pve 上主要是 linux 服务器,windows 的需求场景不多,所以开个虚拟机需要的时候临时用下。
    weareoutman
        20
    weareoutman  
    OP
       192 天前
    @sayoll 参考这个设置成功了 https://github.com/gangqizai/igd ,感谢各位。

    ![]( )
    weareoutman
        21
    weareoutman  
    OP
       192 天前
    最后还需手动更新下驱动
    szsgz
        22
    szsgz  
       191 天前
    我也失效过,好像是更新后失效了。
    还是跟着这位大神的教程弄好了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2340 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 15:52 PVG 23:52 LAX 08:52 JFK 11:52
    Do have faith in what you're doing.
    ubao 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