PVE直通AMD核显给Win10
书接上回
PVE直通Nvidia显卡给Windows10中挖的坑今天咱也是给填上了
我使用的设备是畅网微控的5800U软路由
BIOS和PVE基础设置
首先BIOS设置打开IOMMU和SVM
然后是经典的参照安装PVE并开启硬件直通配置好直通环境。
提取VBIOS和GOP
准备主板BIOS文件和相关工具
去你主板官网下载你使用主板的BIOS固件。
需要用到2个工具,UEFI BIOS Updater(UBU)和edk2-BaseTools-win32。
UBU的官方MEGA下载链接
edk2-BaseTools-win32直接把repo下载下来就可以。
查看核显ID
PVE shell输入lspci -D -nn | grep VGA
1 | root@pve:~# lspci -D -nn | grep VGA |
其中[1002:1638]即为核显ID,前后部分都有用,记住。
提取VBIOS
- 解压
UBU,把主板BIOS固件(通常是.bin文件)扔到其目录下,运行UBU.cmd。 - 等待软件扫描固件,然后依次选择
2 - Video OnBoard、X - Extracted。 - 导出文件在
Extracted文件夹里,有VBIOS和GOP两个文件夹。 - 进入
VBIOS文件夹,进入目录最深层,有一堆后缀不同的vbios_xxxx.dat文件,后缀匹配核显ID后半部分的.dat文件即为所需,复制出来备用。
提取GOP
- 在提取VBIOS的步骤三,
Extracted文件夹里的GOP中,有GOP的.efi文件,通常是AMDGopDriver.efi,需要转换成.rom文件。 - 使用
edk2-BaseTools-win32进行转换,先解压,把.efi文件扔到EfiRom.exe的同级目录。 - 在
EfiRom.exe所在目录打开cmd,用EfiRom.exe -f 0x1002 -i 0x1368 -e AMDGopDriver.efi进行格式转换,得到AMDGopDriver.rom。其中0x1002和0x1368分别对应核显ID的前后半部分。
直通
准备
- 按照屏蔽显卡驱动添加AMD屏蔽
- 创建虚拟机装系统,机型选q35,用UEFI,勾上Qemu代理,显示设备在装好系统以后改成none。
- 上传
AMDGopDriver.rom和vbios_xxxx.dat2个文件到/usr/share/kvm目录。1
scp AMDGopDriver.rom root@192.168.2.1:/usr/share/kvm
虚拟机加载VBIOS和GOP
首先给虚拟机添加PCI设备,核显和核显附带的声卡2个设备都添加上去,一定要2个分别添加,切忌勾选所有功能。核显要勾选主GPU和PCI-Express。
编辑虚拟机配置文件,虚拟机id记得替换。
1 | nano /etc/pve/qemu-server/103.conf |
在核显的后面添加romfile=vbios_1638.dat,声卡的后面添加romfile=AMDGopDriver.rom。
示例
1 | hostpci0: 0000:07:00.0,pcie=1,x-vga=1,romfile=vbios_1638.dat |
启动虚拟机,Enjoy it!
参考链接
https://www.bilibili.com/video/BV1ZN411n74e
https://www.bilibili.com/video/BV11d4y1G7Nk
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 筱晓の第二小窝~!