您的订阅点赞分享充电打赏(三连投币分享)是对老高最大的支持和鼓励!看完片子,加爱折腾的群和讨论组:https://diyforfun.565856.xyz/ 欢迎您加入和有着共同折腾爱好的朋友们一起:折腾的开心!开心的折腾!
之前我们做过AMD提取VBIOS和OVMF定制方法,有小伙伴觉得定制ovmf麻烦,虽然已经不是编译的,即使用工具来图形化定制,他们还是觉得麻烦。那么最好的方法就是用pve自带默认的ovmf,再加上两个重点:1、vbios核显驱动和显示输出必要。2、GopDriver开机BIOS启动画面必要的。另外填坑之前小伙伴问的PVE下显示CPU温度频率硬盘信息的辅助工具点击查看,下面我们开始了
声明:爱折腾的老高视频及技术交流群仅供数码爱好者正规合法讨论技术交流。不涉及任何违法违规技术交流。请不要在评论或私聊中提及任何违法违规技术问题,一概不予回答谢谢合作。请各位朋友不在在群中讨论任何相关违法违规及风险问题,群规见群公告。所分享资源均来自互联网公开资源,均有其各自的作者和出处,尊重知识产权。相关设备和服务请购买正版。各厂商服务商请不要群内发广告、图片及二维码等。如有合作意向,敬请与老高联系。
如有转载或部分引用请保留老高频道及视频连接,注明出处,谢谢合作!
您的订阅点赞分享充电打赏(三连投币分享)是对老高最大的支持和鼓励!看完片子,加爱折腾的群和讨论组:https://diyforfun.565856.xyz/ 欢迎您加入和有着共同折腾爱好的朋友们一起:折腾的开心!开心的折腾!
以下文字,需要边看视频边操作,看不懂的地方暂停,搞懂了继续。避免疏漏仔细看视频。
另外:后期可能会不断完善或者改进此文字版流程,因为视频已经无法修改了,所以以此文字版的为准。不懂的地方可以群里求助,大家互帮互助,或者群里聊天半小时自己搜索5分钟!谢谢诸位支持~
virtIO驱动ISO:
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
6900HX的vbios和相关提取GOP、VBIOS工具、GOP+vbios合并rom等:
点击下载
UBU:https://winraid.level1techs.com/t/tool-guide-news-uefi-bios-updater-ubu/30357
ffs:https://github.com/pbatard/ffs/releases
mmtool64下载地址:https://www.xitongzhijia.net/soft/231466.html
补丁:RadeonResetBugFixService
https://github.com/inga-lovinde/RadeonResetBugFix/releases
6900HX核显驱动:
https://drivers.amd.com/drivers/whql-amd-software-adrenalin-edition-23.9.1-win10-win11-sep6.exe
一、PVE安装:
安装完成。
启动PVE,进入WebUI
二、进入PVE后基础设置:
1、PVE8.0换源(如已做过请忽略):
(1)国内清华源速度较快(南方可选择中科大较快)
将自带的源文件sources.list备份
cp /etc/apt/sources.list /etc/apt/sources.list_bak
编辑sources.list
nano /etc/apt/sources.list
#粘贴以下
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
(2)编辑企业源,增加pve无订阅源
nano /etc/apt/sources.list.d/pve-enterprise.list
将其中原有的proxmox句首加# 注释掉,变为:#deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise
添加以下清华源:
deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/pve bookworm pve-no-subscription
ctrl+x y 回车保存退出
添加pve无订阅源
nano /etc/apt/sources.list.d/pve-no-subscription.list
#粘贴以下pve无订阅源
deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian bookworm pve-no-subscription
ctrl+x y 回车保存退出
(3)修复源401错误
nano /etc/apt/sources.list.d/ceph.list
将其中原有的proxmox句首加# 注释掉,变为:#deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription
#添加中科大ceph源:
deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy bookworm no-subscription
ctrl+x y 回车保存退出
#更新 (此步暂时不建议执行,有几个群友反馈7840HS直通核显遇到问题,是在PVE8.1.4/5 内核6.5.13-1/-3遇到的,所以暂时不要运行更新PVE了。避免升级到新版PVE和内核后作妖,影响AMD核显直通)
apt update && apt dist-upgrade -y
(暂时不要运行更新PVE了。避免升级到新版PVE和内核后作妖,影响AMD核显直通)
2、顺便把LXC更换为清华源:
备份APLInfo.pm
cp /usr/share/perl5/PVE/APLInfo.pm /usr/share/perl5/PVE/APLInfo.pm_back
#更换为清华源:
sed -i 's|http://download.proxmox.com|https://mirrors.tuna.tsinghua.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm
#重启服务后生效
systemctl restart pvedaemon.service
重启reboot
3、去掉登录订阅提示,合并local-lvm以最大化利用硬盘空间,添加CPU频率硬盘温度,删掉不用的内核等信息:
用第三方Shell工具,如FinalShell等,上传pve_source至root文件夹
运行./pve_source
具体操作见视频
4、编辑grub、添加设备黑名单
(1)
nano /etc/default/grub
#添加以下:
GRUB_CMDLINE_LINUX_DEFAULT="quiet initcall_blacklist=sysfb_init pcie_acs_override=downstream,multifunction"
ctrl+x,y,回车保存退出
参数并不是堆砌越多越好,尽量恰到好处过犹不及。每个参数都发挥作用,去掉不用的拖沓参数。
注意:1、pve内核经常更新,amd_iommu=on有的内核已经内置,因此不需要上面加amd_iommu=on。如果遇到更新pve内核后,提示iommu没有开启,请手动在以上此处添加amd_iommu=on,并update-grub重启后即可解决。
2、initcall_blacklist=sysfb_init 启动时运行黑名单内添加项,在Intel的机型中,此项非必要添加,但是在amd机型中建议添加,否则会影响核显直通后的性能,比如4K60Hz降低到30Hz。
3、pcie_acs_override=downstream,multifunction PCI ACS覆盖参数避免死机设置为两者/多用途,避免PVE虚拟Win开关机时死机。
(2)更新grub:
update-grub
(3)
nano /etc/modprobe.d/pve-blacklist.conf
在里面加入
blacklist nvidiafb
blacklist amdgpu
options vfio_iommu_type1 allow_unsafe_interrupts=1
ctrl+x,y,回车保存退出
解释:屏蔽amd显卡驱动,options vfio_iommu_type1 allow_unsafe_interrupts=1 允许不安全的设备中断,在部分机型上不加此项会导致虚拟Win启动加载转圈时直接宿主PVE卡死。
注意:在设备黑名单中添加amdgpu,并grub里开启引导自动加载后,pve启动时会卡在以下界面。是正常的!等待一会只要PVE可以通过网页访问到WebUI管理页面就是正常没问题的。因为PVE开机时会按照设备黑名单设置的,释放对核显的控制权。这样才能在核显直通给虚拟Win的时候避免冲突而导致的无法加载驱动,错误代码43
(4)更新initramfs:
update-initramfs -u -k all
(5)重启:reboot
三、使用UBU提取AMDGopDriver并制作ROM,提取VBIOS
注意:以下第三大部分提取vbios可以使用UBU,也可以使用MMTOOL(更简单),并且可以把2个rom(gop和igd)合二为一,具体见
如果使用二合一vbios rom,以下挂载rom只需要1个。把它挂载直通的核显pci设备上即可。
https://diyforfun.cn/1058.html
以下2(1)(2)步骤可以使用老高VBT工具,点几个按键完成rom的二合一操作,并写入正确的核显设备ID。
1、获取机器PCI信息
在PVE-Shell下:
(1)更新pci设备信息
update-pciids
(2)查看核显及声卡
lspci -D -nn | grep VGA
lspci -D -nn | grep Audio
AMD 6900HX的核显和声卡ID通常为:0000:e5:00.0和0000:e5:00.1
供应商ID为:1002设备ID为:1681
以上信息按照您的显卡声卡的ID都记录好,备用
2、提取GOP和VBIOS
把共享盘中需要的工具全部下载解压缩,准备好
BIOS文件请联系厂家或商家客服索取,或者电脑官网下载
实在不行,还可以自行备份出来(见AMI bios提取工具AFUWIN)
(1)进入UBU文件夹,运行UBU.bat提取AMDGopDriver.efi文件(自动扫描后点2——点S,导出后在Extracted目录中找到AMDGopDriver.efi)
把AMDGopDriver.efi拷贝到edk2-BaseTools-win32-master文件夹,
CMD命令行进入edk2-BaseTools-win32-master文件夹,运行
EfiRom.exe -f 0x1002 -i 0xXXXX -e AMDGopDriver.efi
注意以上XXXX为具体自己的核显设备ID,如6900HX的为0x1681
查看反馈信息,成功后会有AMDGopDriver.rom文件产生。
(2)使用xi4oyu的源代码 编译后导出vbios文件
源码见(https://forum.proxmox.com/threads/have-anyone-susscesfully-passthroughed-the-igpu-amd-radeon-680m-to-vm.119178/)中#11楼 xi4oyu的代码
可以使用分享盘中懒人文件vbios(已经编译好的)使用第三方Shell工具如FinalShell,WinSCP等将vbios拷贝进入root文件夹)
运行
./vbios
成功后可以看到生成的vbios文件名为vbios_1002_xxxx.bin,xxxx为您自己核显设备ID。如6900HX为vbios_1002_1681.bin
以上准备已经完成,我们需要AMDGopDriver.rom(ROM)和vbios_1002_xxxx.bin(VBIOS)这两个文件,把他们用命令行移动至/usr/share/kvm 目录
mv AMDGopDriver.rom vbios_1002_1681.bin /usr/share/kvm
进入/usr/share/kvm检查一下以上2个文件是否存在
四、Win虚拟机建立及环境设置
(3)创建win11虚拟机
名称:自定义
光驱挂载:Win安装ISO镜像
系统中显卡:无
机型:q35
BIOS:OVMF
EFI分区:UEFI(OVMF)需要
TPM设备:Win11需要
磁盘:SCSI 大小100G(按需设置,或硬盘直通)
CPU:host 核心数量8(6900HX共8核,按需设置)
内存:4G及以上(核显直通建议)
网络:virtIO(半虚拟化或网卡直通)网卡
点击确定
(4)虚拟Win10硬件里面:
添加CD/DVD设备1个,挂载virtIO驱动ISO镜像(加上之前自带的1个光驱共2个,在成功安装完成Win并关机之后可以卸载掉)
添加PCI设备:
添加显卡(0000:e5:00.0)pcie设备里面勾选:主gpu,rom-bar,pcie-express这三个选项,所有功能:不勾选
添加声卡(0000:e5:00.1)
添加USB键鼠
(5)配置虚拟机conf文件,添加ROM和VBIOS文件指向:
nano /etc/pve/qemu-server/虚拟机序号.conf
找到以下两处,并添加
hostpci0: 0000:e5:00.0,pcie=1,romfile=vbios_1002_1681.bin,x-vga=1
hostpci1: 0000:e5:00.1,romfile=AMDGopDriver.rom
ctrl+x,y,回车保存退出
(6)安装win11系统
首先安装virtIO驱动,然后安装amd驱动,不要重启电脑。打开远程桌面并测试能正常登录
(7)打补丁(不完美解决amd gpu passthrough rest bug问题。如直通成功显示画面之后,当Win重启后核显错误代码43不运行的问题。)
下载RadeonResetBugFixService这个软件0.17版本,下载地址:https://github.com/inga-lovinde/RadeonResetBugFix/releases
安装方法:下载解压放在c盘根目录,cmd管理员模式下运行
RadeonResetBugFixService.exe install
等服务安装完成后,就可以随便关闭win10虚拟机了,
关闭后:
删除Win虚拟机硬件中不需要的光驱设备
显示设置为无 none。设置好后就可以正常开机win10虚拟机了。
五、已知问题:
开机、重启等需要等待2分钟黑屏。原因如下:
核显成功直通后存在win10虚拟机重启就再也不出画面问题。可以安装RadeonResetBugFixService这个软件不完美解决这个问题。安装这个软件后可以正常重启和关机。
(PVE启动之后,第一次启动虚拟Win11可显示引导画面和进入win的画面,之后的重启则是黑屏。请等待2分钟左右RadeonResetBugFixService服务启动,核显会成功加载并工作。关机时RadeonResetBugFixService服务会自动卸载核显,避免下次重启时核显不工作无法进入系统,它会在下次重启时重复上面先开机再启动核显流程,保证每次重启核显都可以正常,且不需要重启PVE,我们仅需要耐心等它2分钟。)
六、其他:
不要开win10的休眠、睡眠功能,还有pve管理界面的虚拟机休眠、停止功能,开了直通会恢复不过来,只有重启物理机才可以解决
参考引用:
https://forum.proxmox.com/threads/have-anyone-susscesfully-passthroughed-the-igpu-amd-radeon-680m-to-vm.119178/
https://blog.csdn.net/qq_42912965/article/details/126815332
如有转载或部分引用请保留老高频道及视频连接,注明出处,谢谢合作!
您的订阅点赞分享充电打赏(三连投币分享)是对老高最大的支持和鼓励!看完片子,加爱折腾的群和讨论组:https://diyforfun.565856.xyz/ 欢迎您加入和有着共同折腾爱好的朋友们一起:折腾的开心!开心的折腾!
edk2-BaseTools-win32-master在哪里下?
@5D 如下 https://github.com/tianocore/edk2-BaseTools-win32
老高,在pve 8.2.1 最新版本下,只要加入blacklist amdgpu 重启PVE的时候就卡死在loading initial ramdisk
@brian 注意:在设备黑名单中添加amdgpu,并grub里开启引导自动加载后,pve启动时会卡在以下界面。是正常的!等待一会只要PVE可以通过网页访问到WebUI管理页面就是正常没问题的。因为PVE开机时会按照设备黑名单设置的,释放对核显的控制权。这样才能在核显直通给虚拟Win的时候避免冲突而导致的无法加载驱动,错误代码43(以上在ESXI/PVE核显直通时都会有这个屏蔽引导核显加载的过程。同理)
老高, 要不直接放出ser8的vbios?
@overcch 群分享里有啊
@爱折腾的老高 请问是哪个群哦? 电报和qq频道都找了, 没看到呢
老高,virtio-win.iso 镜像换个地址吧,官方那个下载两天都没下完。
精简镜像(仅包含驱动):
amd64: https://github.com/qemus/virtiso/releases
x86: https://github.com/qemus/virtiso-x86/releases
完整镜像:
https://fedora-virt.repo.nfrance.com/virtio-win/direct-downloads/stable-virtio/
@6900HX 打开正确上网姿势分分钟完成。感谢提供其他镜像🙏