天选4锐龙版(7940)安装PVE做核显780M、独显4060直通

天选4锐龙版(7940h)安装PVE做核显、独显直通

文章目录

    • 天选4锐龙版(7940h)安装PVE做核显、独显直通
  • 前言
  • 一、BIOS的修改与配置
  • 二、PVE的选择和安装
  • 三、硬件直通准备
    • 1.切换内核
    • 2.编辑gurb
    • 3.修改黑名单
    • 4.添加内核文件
    • 5.查看设备pci id,绑定vfio
    • 6.更新并重启
  • 四、安装系统及添加硬件直通
    • 1.上传vBIOS文件和GOP文件
    • 2.FNOS系统安装及直通和显
    • 3.同理安装WIN11核显直通(与FNOS不能同时启动)
    • 4.安装WIN11给4060独显
    • 5.全部测试结果:
  • 五、参考文献

前言

本文包含PVE的安装、核显独显直通、网卡蓝牙直通、IStoreOS做旁路由以及踩坑的点,请仔细观看,过程所需提取的vbios、amdgop文件均在此。
virtlo镜像

https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
https://www.123912.com/s/49L6Vv-GEaD3 提取码:77dr

一、BIOS的修改与配置

下载UniversalAMDFormBrowser,点击右边的Download raw file

https://github.com/DavidS95/Smokeless_UMAF/blob/main/UniversalAMDFormBrowser.zip

准备一个U盘,格式化为FAT32格式,将zip解压到U盘,解压之后如图

重启电脑,开机F2进BIOS,关闭Security Boot,修改显示为dgpu,修改启动项为U盘,F10保存并退出,等待系统重启进入第三方BIOS

重启电脑,开机F2进BIOS修改你的U盘为启动项。
第一个要改的,方向键移动至Device Manager->AMD CBS->NBIO Common Options->IOMMU,回车选择enable或auto,F10保存。

第二个要改的点,Device Manager->PCI SubSystem Settings->SR-IOV Support,这里注意后面原来是个X,光标选中后点空格键X就没了,F10保存,esc到最初始的页面,reset重启,拔掉U盘,重启至Win11。

第三个Svm,这个原机BIOS就可以改,而且默认开启的,不放心的可以自己去进原机BIOS看一下。

二、PVE的选择和安装

PVE版本建议选择最新版(8.4),官网下载:

https://www.proxmox.com/en/downloads

准备一个大于等于8G的U盘,下载烧录镜像的工具balenaEtcher:

https://etcher.balena.io/#download-etcher

选择Windows x86|x64,安装,插入U盘,打开balenaEtcher,选择下载的ISO镜像文件,选择你的U盘(会格式化),点击现在烧录,等待完成,此时U盘分区为不可见,系统提示你U盘需要格式化点取消。

重启F2进BIOS,选择U盘第一启动项,等待重启进入PVE安装界面(7.x.x可能要输入代码,所以我就没用了)同意协议。
选择第一项Install Proxmox VE,选择第二块空硬盘安装PVE(另一块是Win11),地区China,password自己填,再确认一遍,邮箱随便填。
重点来了,网口插网线只有一个所以第一个默认就行,Hostname随意,IP这个需要先确认你的主路由网关地址(类似192.168.1.2),你这里填一个网段就行(192.168.1.xxx),下面一个你填主路由网关地址就行(192.168.1.2),DNS与主路由网关地址相同。

确认信息,点Install,等待进度条跑完,重启拔出U盘,等待进入如下画面说明已安装完成。


这里打开另一台电脑,输入你刚刚设置的IP地址:8006,提示不安全的链接,继续访问,用户名root,密码你刚刚设置的,language选择中文简体,进入了后台管理地址。
先添加一下DNS服务器
119.29.29.29
223.5.5.5


下面修改源:

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

编辑企业源:

nano/etc/apt/sources.list.d/pve-enterprise.list

一样把原来的注释并粘贴以下内容:

deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/pve bookworm pve-no-subscription

一样的修改源,注释并粘贴:

nano/etc/apt/sources.list.d/pve-no-subscription.list
deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian bookworm pve-no-subscription
nano/etc/apt/sources.list.d/ceph.list
deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy bookworm no-subscription

最后进行更新,等待进度条跑完:

aptupdate&&aptdist-upgrade -y

节点的shell输入以下命令下载pve_source了,等会要用

wget-q -O /root/pve_source.tar.gz'https://bbs.x86pi.cn/file/topic/2023-11-28/file/01ac88d7d2b840cb88c15cb5e19d4305b2.gz'&&tarzxvf /root/pve_source.tar.gz&&/root/./pve_source

这个实际在/root目录下,下次启动直接输入

./pve_source

三、硬件直通准备

1.切换内核

由于我发现某些高版本号的内核会导致宿主机死机,现在我用的内核是6.2.16-9-pve

aptsearch pve-kernel-#查看可用的内核:aptinstallpve-kernel-6.2.16-9-pveaptinstallpve-headers-6.2.16-9-pve#头文件

更新好后

./pve_source

选择默认启动内核,选择刚刚安装的6.2.16-9-pve,也可以去卸载其他不同的内核

reboot#重启查看是否生效

2.编辑gurb

nano/etc/default/grub

添加以下数据:

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt initcall_blacklist=sysfb_init pcie_acs_override=downstream,multifunction"

英文状态下CTRL+x,y,enter回车保存,后面大部分都这样

更新grub:

update-grub

3.修改黑名单

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

添加如下数据:

blacklist nvidiafb blacklist nouveau blacklist nvidia blacklist amdgpu blacklist radeon blacklist snd_hda_codec_hdmi blacklist snd_hda_intel blacklist snd_hda_codec blacklist snd_hda_core options vfio_iommu_type1allow_unsafe_interrupts=1

英文状态下CTRL+x,y,enter回车保存

4.添加内核文件

nano/etc/modules

添加如下数据:

vfio vfio_iommu_type1 vfio_pci vfio_virqfd

英文状态下CTRL+x,y,enter回车保存

5.查看设备pci id,绑定vfio

lspci -D -nn|grepVGA lspci -D -nn|grepAudio

我的设备如下:

记一下后面的xxxx:xxxx(比如我的核显id是1002:15bf),一共看四个,核显及其声卡,独显及其声卡,等一下绑定vfio

绑定vfio

nano/etc/modprobe.d/vfio.conf
options vfio-pciids=xxxx:xxxx,xxxx:xxxx **#根据你实际修改**options vfio-pciids=xxxx:xxxx,xxxx:xxxx options vfio-pcidisable_idle_d3=1

英文状态下CTRL+x,y,enter回车保存

6.更新并重启

update-initramfs -u -k allreboot

四、安装系统及添加硬件直通

1.上传vBIOS文件和GOP文件

登录mobaxterm,Session->SSH,ssh连接pve平台,IP地址、用户名root、密码输入时不显示
把我准备的vbios_1002_15bf.bin、AMDGopDriver.rom通过mobaxterm上传到/usr/share/kvm目录下

2.FNOS系统安装及直通和显

点击local,在local的ISO镜像页面上传virtIO驱动ISO、Win11ISO、IStoreOS镜像、FNOS镜像
先安装FNOS,创建虚拟机,名称FNOS,vmid>=100就行
下一步如图


磁盘大小>=100G,也可以硬盘直通或者后面把一个USB口通一个硬盘盒


核心不用太多4-6个即可,类别选host

内存给4-8G都行

网络默认,下一步创建虚拟机
改一下引导顺序


添加pci设备,这两个是紧挨着的,很好找

编辑虚拟机配置:

nano/etc/pve/qemu-server/<VMID>.conf#VMID填你的虚拟机编号

这两行改一下:

hostpci0: 0000:e5:00.0,pcie=1,romfile=vbios_1002_1681.bin,x-vga=1hostpci1: 0000:e5:00.1,romfile=AMDGopDriver.rom

启动后按提示安装即可,此处省略一万字

3.同理安装WIN11核显直通(与FNOS不能同时启动)

前面配置都差不多,uefi这里看图选择

新建完虚拟机后点击添加cd光驱
添加virtIO驱动ISO
安装WIN11过程略过,但是选硬盘时会发现没有硬盘可选,这时点击加载驱动器,点击virtIO驱动ISO,boot->w11,添加驱动器,就能看到硬盘了。

进入win11后安装amd官网驱动:

https://www.amd.com/zh-cn/support/downloads/drivers.html/processors/ryzen/ryzen-7000-series/amd-ryzen-9-7940hs.html

之后安装amd resetbug fix

https://github.com/inga-lovinde/RadeonResetBugFix/releases

将exe放入C盘根目录,管理员cmd

cdC:/
RadeonResetBugFixService.exeinstall

跑代码大概两分钟多一点,没反应就敲敲回车,看到C:/就完成了,重启测试,重启开机后会等待一两分钟等待驱动加载,接着就完成了。

4.安装WIN11给4060独显

具体安装步骤与上面类似,这里不多叙述,主要讲添加pci设备这一块:

所有功能、rom-bar、pci-Express勾选,主gpu不勾选(会导致驱动打不上,显卡代码43)
接着开机去NVIdia官网下载驱动安装完重启就行

5.旁路由安装(IStoreOS)
主要是让流量经过旁路由,新建虚拟机,不使用任何介质:


这里直接点左上角有个小垃圾筒就行

核心2,类别host,内存2048,完成创建
点击节点的shell,输入如下

qm importdisk<VMID>/var/lib/vz/template/iso/istoreos-24.10.2-2025072517-x86-64-squashfs-combined-efi.img local-lvm

这里需要看你上传的日志和文件名,你要是用OPENwrt,镜像名和我也不一样,VMID填所用虚拟机id
此时跑完代码去硬件那里能看到一块未使用的磁盘,双击,添加
开机,跑代码,过一会按回车,看到这个就相当于启动完成了


输入

quickstart


选0,查看旁路由地址,192.168.1.88就是,浏览器输入登录,密码默认password

固定软路由IP地址:
侧边栏,网络->接口,lan口一行,点编辑,协议填静态地址,切换协议,ipv4地址填一个没有被占用的地址即可,子网掩码选第一个255.255.255.0,网关填你的主路由IP地址,


高级设置,DNS服务器,和一开始的一样加两个

DHCP,忽略此接口,看图吧

点击保存,出来还要点保存与应用,跳提示选中间一个,等他设置完,用你刚刚设置的ipv4地址(192.168.1.xxx)去浏览器输入登录,成功即可。

接下来如何使虚拟机流量通过软路由
WIN11直通的4060为例,设置->网络和Internet->以太网,编辑ipv4地址手动,ipv4地址填一个未被占用的地址,子网掩码255.255.255.0,网关填软路由的地址,这样就指向软路由了,测试上网功能正常。

5.全部测试结果:



虚拟机甜甜圈烤鸡,80w功耗,163左右的帧数,和我win11系统下205左右帧数(140w,降压)比22%的损耗
还有软路由的科学上网我就不做教程了,挺简单的

五、参考文献

https://diyforfun.cn/712.html
https://diyforfun.cn/644.html
https://lyd.im/archives/pve-8-2-gpu-passthrough
这里感谢b站@爱折腾的老高