V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

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

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

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

  •  
  •   weareoutman · 23 小时 32 分钟前 · 1139 次点击

    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  
       23 小时 18 分钟前
    cpu 类型 host
    weareoutman
        2
    weareoutman  
    OP
       23 小时 13 分钟前
    @Tiking 之前的 cpu 确实是其他的,后来改成 host 了,还是不行。

    完整的硬件信息:
    ![]( )
    sparkinglemon
        3
    sparkinglemon  
       23 小时 4 分钟前
    很久以前弄过一个 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  
       23 小时 2 分钟前
    其实 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  
       22 小时 58 分钟前
    不需要,我配置 SRiov 虚拟化的时候也是折腾半天,结果手动安装最新的 I 卡驱动即可,只要你在 pve 那边配置没问题,系统自动装的驱动有问题
    xausky
        6
    xausky  
       22 小时 56 分钟前
    坑很多的放弃吧,我现在都主机 Win 跑需要 GPU 的业务,hyper-v 虚拟机跑其他业务
    Jacksu
        7
    Jacksu  
       22 小时 56 分钟前
    @aloxaf 直接直通并不需要,这不是 sriov ,正常来说你直通配置好了,win 里面安装驱动就行了。
    xausky
        8
    xausky  
       22 小时 55 分钟前
    别说你现在都没搞通,我之前都搞通了,不管是直通还是 vGPU 都还有一些坑,比如虚拟机跑时间了就卡死,重启就不识别,偶尔就掉驱动。
    redbeanzzZ
        9
    redbeanzzZ  
       21 小时 53 分钟前
    你的 pve 什么版本啊,以前用的 6 版本的显卡直通还很麻烦,也出现过你这个问题。7 以后甚至能拆分 gpu 了。
    chinanala
        10
    chinanala  
       21 小时 21 分钟前
    ### 贴一段我几个月前折腾 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  
       20 小时 9 分钟前
    参考这个开的虚拟化 https://yangwenqing.com/archives/1797/
    ps: 教程中的 https://github.com/strongtz/i915-sriov-dkms 请直接看 github 的 readme
    ps: 务必更新内核,且按照 github 安装内核的`headers`和`kernel`
    sayoll
        12
    sayoll  
       19 小时 41 分钟前 via Android   ❤️ 1
    https://github.com/gangqizai/igd 用这个吧,好像最新 win 要装最新 inter 显卡驱动不然 43
    wuyadaxian
        13
    wuyadaxian  
       19 小时 13 分钟前
    i915 和 xe 驱动在 proxmox 主机上加入了黑名单吗?
    直通的话,proxmox 主机不能加载 i915 和 xe 驱动,应该交由虚拟机去加载驱动。
    qianxaingmoli
        14
    qianxaingmoli  
       19 小时 6 分钟前
    之前 pve7 直通 win ,报资源不足的错误。把 uefi 引导改成 Legacy 就好了。
    Tiking
        15
    Tiking  
       18 小时 58 分钟前
    GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on pcie_acs_override=downstream i915.enable_guc=3 i915.max_vfs=7"

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

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

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

    ![]( )
    weareoutman
        21
    weareoutman  
    OP
       13 小时 25 分钟前
    最后还需手动更新下驱动
    szsgz
        22
    szsgz  
       53 分钟前
    我也失效过,好像是更新后失效了。
    还是跟着这位大神的教程弄好了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2314 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 02:27 · PVG 10:27 · LAX 19:27 · JFK 22:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.