欢迎光临
我们一起折腾,但避免熬夜!

PVE直通Intel/AMD核显显示器输出画面:ROM定制,MMTool提取GOP/VBIOS教程

在PVE中实现核显直通一直是All in One用户的热门需求。无论是为了搭建高效的影音服务器,还是希望在虚拟机中享受硬件加速,核显直通都能大幅提升性能体验。本文将介绍一种使用MMTool软件从BIOS中提取核显GOP和VBIOS模块,并合并生成完整ROM文件的方法。

为什么需要核显直通?

核显直通允许虚拟机独占使用宿主机的集成显卡,从而获得近乎原生的图形性能。这对于需要硬件编解码的媒体服务器(如Jellyfin、Plex)、轻量级游戏虚拟机,或需要GPU加速的应用程序至关重要。传统方法往往需要编译定制OVMF固件,过程复杂且容易出错。而本文介绍的方法通过直接操作BIOS文件提取必要模块,大大简化了流程,提高了成功率,适用于Intel 4-14代及AMD全系列CPU的核显

准备工作

在开始之前,需要准备以下工具和环境:

  1. MMTool软件(用于BIOS模块操作)
  2. EfiRom工具(来自EDK2项目,用于合并ROM)
  3. 主板BIOS文件(可从官网下载或使用AFUWIN在Windows下提取)
  4. Proxmox VE 环境

♥工具包下载:
百度网盘:
https://pan.baidu.com/s/1qbu-YB5YWAOOtw46r0ey9Q?pwd=fqkj 提取码: fqkj
夸克网盘:
https://pan.quark.cn/s/90d95043e5f4   提取码:VnSE

在PVE中查看并记录核显ID:

lspci -D -nn | grep VGA

重要提醒:操作前请备份原有BIOS和重要数据。如果之前定制过OVMF固件,请将定制的文件复原,以免影响本次操作。

本文主要参考李晓流大神B站教程。

使用MMTool提取GOP和VBIOS

第一步:获取BIOS文件

首先需要获取主板的BIOS文件。建议从主板官网下载对应型号的最新BIOS,或使用AFUWIN等工具在Windows环境下提取当前主板的BIOS,确保BIOS文件为ROM格式。

第二步:使用MMTool提取模块

MMTool是一款功能强大的BIOS工具,可以插入、替换、删除和提取BIOS资源。

  1. 打开MMTool,点击”打开”按钮加载你的BIOS文件(.rom格式)。
  2. 切换到”Option ROM”或相应标签页,查看所有模块列表。
  3. 在列表中识别核显相关模块:
    • Intel平台:查找Vendor ID为8086的模块
    • AMD平台:查找Vendor ID为1002的模块
    • 注意Vendor ID和Device ID为空(N/A)的模块通常是核显GOP
  4. 选择导出Option ROM-应用,分别导出GOP驱动和VBIOS模块(通常各有两个关键模块)。

mmtool工具

合并生成ROM文件

获取到GOP和VBIOS模块后,需要使用EfiRom工具将它们合并成完整的ROM文件。

Win+R,以管理员身份运行cmd,cd 到EfiRom文件夹

对于AMD平台:

.\EfiRom.exe -b .\15e7 .\164c .\1638 -e .\gop -f 0x1002 -i 0xffff -o amd.rom

注意这里的文件名称(.\15e7 .\164c .\1638 -e .\gop)是上面生成的文件的名称,-i参数后的ffff可以替换为你的核显设备ID(如15e7),amd.rom可自定义输出文件名。

对于Intel平台:

.\EfiRom.exe -e .\gop .\IgdAssignmentDxe.efi .\PlatformGOPPolicy.efi -f 0x8086 -i 0xffff -o Intel.rom

同样,ffff可替换为你的核显设备ID(如3185),intel.rom可自定义输出文件名。

运行结束后在EfiRom文件中获取到***.rom的文件,将生成的ROM文件上传到PVE的/usr/share/kvm目录。

文件上传工具推荐:

PVE环境配置

生成ROM文件后,需要配置PVE环境以支持核显直通。可以参考我之前的教程:
PVE all in one保姆级教程:iKuai+iStoreOS, 核显SR-IOV, 飞牛fnOS, 黑群晖, TrueNAS, Windows10

1. 启用IOMMU支持(pve中已设置的请忽略)

编辑GRUB配置启用IOMMU:

nano /etc/default/grub

# 对于Intel CPU
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt initcall_blacklist=sysfb_init pcie_acs_override=downstream,multifunction"

# 对于AMD CPU
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt initcall_blacklist=sysfb_init pcie_acs_override=downstream,multifunction"

按Ctrl+X -> Y – >回车退出。

更新GRUB并重启:

update-grub && reboot

2. 添加驱动黑名单

编辑黑名单配置文件,阻止宿主机使用核显驱动。

如有重复项记得删除。
解释:屏蔽三大显卡驱动,屏蔽hdmi声音驱动;
options,options vfio_iommu_type1 allow_unsafe_interrupts=1。允许不安全的设备中断

nano /etc/modprobe.d/pve-blacklist.conf

# 在里面加入
blacklist nvidiafb
blacklist nouveau
blacklist nvidia
blacklist snd_hda_codec_hdmi
blacklist snd_hda_intel
blacklist snd_hda_codec
blacklist snd_hda_core
blacklist radeon
blacklist amdgpu
blacklist i915
options vfio_iommu_type1 allow_unsafe_interrupts=1

按Ctrl+X -> Y – >回车退出。

查看并记录核显、音频ID,核显一般带VGA。

lspci -D -nn | grep VGA
lspci -D -nn | grep Audio

更新initramfs模块并重启PVE

update-initramfs -u -k all
reboot

3. 配置虚拟机

虚拟机配置要点:

  • 现阶段建议安装Windows10。Windows11不是不能用,但我的体验bug相对多一些
  • Intel平台:虚拟机类型选择i440fx,固件选择OVMF(UEFI)
  • AMD平台:虚拟机类型选择q35
  • 系统类型建议选择Linux(或者安装完成在直通核显前切换为Linux)。Windows或其他类型可能会导致安装核显驱动等bug
  • CPU类型选择host
  • 硬盘可以选sata,也可以scsi(sata主要针对有游戏的需要)
  • 切记将虚拟机显示设置为”无”(none)
  • 添加PCI设备核显,勾选主GPU,ROM-Bar,PCI-Express这3个选项,不勾选所有功能
  • 添加PCI设备声卡
  • 添加PCI设备USB键鼠

在PVE中执行命令(102是你创建核显直通的虚拟机ID):

nano /etc/pve/qemu-server/102.conf

在文件中增加一行:

#对于Intel,这行用于设置核显额外参数,包括把设备地址设置为02.0,设置x-igd-gms大小并启用x-igd-opregion
args: -set device.hostpci0.addr=02.0 -set device.hostpci0.x-igd-gms=1 -set device.hostpci0.x-igd-opregion=on
#对于AMD
args: -cpu host,hypervisor=off 

添加或修改hostpci0开头的这一行,这行用于添加核显,开启 legacy-igd 模式,加载 romfile。

#对于Intel
hostpci0: 0000:00:02,legacy-igd=1,romfile=***.rom
#对于AMD(AMD加了直通声卡)
hostpci0: 0000:06:00.0,pcie=1,x-vga=1,romfile=***.rom
hostpci1: 0000:06:00.1,rombar=0

按Ctrl+X -> Y – >回车退出。

启动虚拟机后,可以看到PVE BIOS的开机画面,Windows也能够驱动核显,就表示所有直通的操作成功成了。

故障排除与注意事项

  1. AMD复位错误(Reset Bug)
    这是AMD GPU直通的老问题,可安装RadeonResetBugFixService解决。
    安装方法:下载解压放在C盘根目录,cmd管理员模式下运行:
    RadeonResetBugFixService.exe install
  2. 直通后宿主机无显示:这是正常现象,核显已完全交由虚拟机使用。
  3. BIOS设置关键
    • 启用VT-d/IOMMU
    • 禁用CSM(使用纯UEFI环境)
    • 预分配DVMT内存为64M或更高
  4. 关于关机、重启:直通后的Windows要在系统中正常关机或重启,不然你可能核显无法驱动并输出画面,此时需要重启PVE才能恢复。

结语

通过MMTool提取BIOS中的GOP和VBIOS模块,再合并生成完整ROM文件的方法,为PVE核显直通提供了更为简便和通用的解决方案。这种方法避免了复杂的OVMF定制过程,适用于更广泛的硬件平台。

希望本教程能帮助你在PVE环境中成功实现核显直通。如果您有任何问题或经验分享,欢迎在评论区交流。

赞(0) 打赏
未经允许不得转载:番茄科技-电脑,手机,网络知识,应用分享 » PVE直通Intel/AMD核显显示器输出画面:ROM定制,MMTool提取GOP/VBIOS教程

评论 抢沙发

手机 电脑 NAS 网络知识 应用分享

分享手机、电脑、NAS等数码产品的软硬件使用经验,多为保姆级分享,图文内容最好与视频讲解一起使用,减少来回折腾的时间。让我们一起折腾,一起成长,但尽量不要熬夜!

哔哩哔哩YouTube

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册