Zenith Horizon

PVE Intel UHD630 核显直通飞牛虚拟机

2026/04/18
loading

要把 PVE 主机的核显直通给飞牛虚拟机,可以利用 Intel 核显的 SR-IOV 虚拟化技术,让飞牛获得硬件解码能力。

需要注意,这里有两种主流方案:SR-IOV (虚拟化)PCIe (设备独占直通)

⚙️ 方案对比:SR-IOV vs PCIe 直通

  • PCIe 设备独占直通: 核显被飞牛虚拟机完全独占,PVE宿主机将无法再使用核显进行显示输出。

  • SR-IOV (推荐): 核显被虚拟化成多个性能接近物理设备的虚拟功能 (VF) 实例,宿主机和多个虚拟机可以同时、高效、灵活地共享使用核显。

这两种方案在 PVE Web 界面上添加 PCI 设备时的勾选方式不同,请仔细区分。

🎯 方案一:SR-IOV(最推荐,实现宿主机与虚拟机共享核显)

此方案能让核显在宿主机和虚拟机之间共享,是绝大多数 All-in-One 玩家的首选。

1. PVE宿主机配置

首先,通过 lspci -nn | grep VGA 确认核显的 PCI ID (一般是 00:02.0)。然后执行以下步骤:

  • 编辑启动配置: nano /etc/default/grub

  • 添加内核参数: 找到 GRUB_CMDLINE_LINUX_DEFAULT,在引号内加入参数。

    bash

    GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_guc=3 i915.max_vfs=3"
    • intel_iommu=on: 开启 Intel IOMMU 技术,这是设备直通的基础。

    • i915.enable_guc=3: 启用 GuC 和 HuC 固件,这对硬件解码/编码至关重要。

    • i915.max_vfs=3: 设定要创建的虚拟功能 (VF) 数量,建议根据需求设置。

  • 更新引导并重启:

    bash

    update-grub
    update-initramfs -u -k all
    reboot

2. 虚拟化驱动安装 (SR-IOV 核心步骤)

重启后,PVE 宿主机已创建好 VF,你需要安装驱动来管理它们。

  • 安装驱动:

    bash

    # 安装编译依赖
    apt update && apt install build-* git dkms sysfsutils flex bison -y
    # 克隆并安装 i915-sriov-dkms 驱动
    git clone https://github.com/strongtz/i915-sriov-dkms.git
    cd i915-sriov-dkms
    ./install.sh
    # 再次重启以加载驱动
    reboot
  • 验证 VF 设备: 重启后,执行 lspci | grep VGA 应能看到 00:02.0 (物理设备) 和 00:02.100:02.200:02.3 (虚拟设备)。直通时,请选择 虚拟功能 (VF) 设备 (如 00:02.1)。

  • 虚拟机配置 (关键):

    • 机型 (Machine): 必须选择 q35

    • BIOS: 选择 OVMF (UEFI),并添加一个 EFI 磁盘。

    • 关闭安全启动: 启动虚拟机,在 UEFI 固件设置 (按 ESC 进入) 中,找到 Device Manager -> Secure Boot Configuration取消勾选 Attempt Secure Boot,然后按 F10 保存。

    • 添加 PCI 设备: 虚拟机安装好飞牛系统后,关闭它。在硬件设置中添加核显的 VF 虚拟设备 (如 00:02.1),勾选 PCI-ExpressROM-Bar,不要勾选 所有功能

    • 关闭虚拟显示: 在硬件设置中将 显示 (Display) 改为 无 (none)

    • 添加启动参数 (可选): 如果遇到问题,可在虚拟机的配置文件 (/etc/pve/qemu-server/<VMID>.conf) 中添加 args: -set device.hostpci0.addr=02.0 (将 hostpci0 替换为你的 PCI 设备序号)。

🎮 方案二:PCIe 设备独占直通

此方案直接让飞牛虚拟机独占核显,宿主机将失去显示输出能力,适合不需要 PVE 本地显示的场景。

  • PVE宿主机配置: 在 /etc/default/grub 中加入 intel_iommu=on,并屏蔽内核中的 i915 驱动,防止宿主机抢占设备。

    bash

    # 在 /etc/modprobe.d/blacklist.conf 文件中添加以下行
    blacklist i915
    blacklist snd_hda_intel
    blacklist snd_hda_codec_hdmi
  • 虚拟机配置:

    • 安装飞牛系统时,显示设备保持默认,以便于操作。

    • 系统安装完成后,关闭虚拟机,将显示设备设置为 无 (none)

    • 添加 物理核显设备 (PCI ID: 00:02.0),并勾选 所有功能PCI-ExpressROM-Bar

🔧 故障排查

  • 直通后虚拟机无法启动或卡死: 检查虚拟机机型是否为 q35,BIOS 是否为 OVMF (UEFI),以及是否已在固件中关闭安全启动 (Secure Boot)。可尝试在虚拟机配置文件中为核显设备添加 ,rombar=0 参数。

  • 飞牛系统内看不到 /dev/dri 设备: 在飞牛系统内执行 ls /dev/dri。如果没有 renderD128 等设备,说明直通未成功。请回到 PVE 宿主机,用 lspci | grep VGA 确认已将正确的核显设备 (PF 或 VF) 分配给虚拟机。

  • 飞牛影视转码无法启用: 确认飞牛影视应用的转码设置中已启用 Intel QuickSync (QSV) 或 VA-API,并在播放时观察飞牛系统的 GPU 使用率。建议在飞牛命令行执行 sudo apt update && sudo apt install intel-media-va-driver -y 安装驱动。

  • Windows 虚拟机直通核显出现 "代码 43" 错误: 这通常与 Windows 驱动或虚拟机配置有关。可以尝试在虚拟机配置中添加 ,romfile= 参数加载定制的 vBIOS 文件,或确保 CPU 类型为 host

  • BIOS 设置是关键: 确保主板 BIOS 中开启了 VT-d,并将 主显示输出 (Primary Display / Initial Display Output) 设置为 IGPU / CPU Graphics / PEG,同时禁用 CSM,启用 Above 4G Decoding

Author: Max

Permalink: /archives/pve-hd630-fn

Published: 2026-04-18 17:22:13

Updated: 2026-04-18 17:20:07

License: 本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可

CATALOG