j4125-rtl8125B-PVE win10 开启核显硬件直通功能(避坑)

注意

如果不HDMI核显输出,直通只操作到1、2、6步即可,3-5步无需操作。

!!!非常关键7.1版本如果要直通核显请安装前按DEL键进

!!!非常关键7.1版本如果要直通核显请安装前按DEL键进

!!!非常关键7.1版本如果要直通核显请安装前按DEL键进

BIOS > Advanced > CSM Support 改为Enabled 找到Video UEF 改为Video Legacy> F4保存(建议Boot option filter选UEFI only)

先装好win10 虚拟机

一、开启硬件直通代码

1、启动内核IOMMU支持
打开PVE节点的shell,输入命令:

nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet"

改为:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off,vesafb:off pcie_acs_override=downstream"

编辑完文件后按“Ctrl + X” > “Y” > “回车”,继续输入以下命令。

2、加载硬件直通相关模块

在PVE的shell中输入:

nano /etc/modules

在文件下面添加新内容

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd 

编辑完文件后按“Ctrl + X” > “Y” > “回车”,继续输入以下命令。

3、添加驱动黑名单(如果不用HDMI输出,直通操作到此即可。)

在PVE的shell中输入:

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

添加

blacklist snd_hda_intel
blacklist snd_soc_skl
blacklist snd_sof_pci
blacklist snd_hda_codec_hdmi
blacklist i915

编辑完文件后按“Ctrl + X” > “Y” > “回车”,继续输入以下命令。

重启上来之后检查模块是否正常加载:lsmod | grep vfio

4、绑定核显到vfio模块(如果不用HDMI输出,直通操作到此即可。) shell 输入下面命令

echo "options vfio-pci ids=8086:3185,8086:3198 disable_vga=1" > /etc/modprobe.d/vfio.conf
echo "options kvm ignore_msrs=1 report_ignored_msrs=0" > /etc/modprobe.d/kvm.conf
echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf
echo "options snd-hda-intel enable_msi=1" > /etc/modprobe.d/snd-hda-intel.conf
nano /etc/modprobe.d/vfio.conf
nano /etc/modprobe.d/kvm.conf

注:大多数j4125的默认显卡和声卡硬件ids: 8086:3185,8086:3198 ,以防万一 可以用 lspci 查看下id  通过id查找ids>  lspci -n -s 00:02.0

5、用WINSCP登录PVE,在\usr\share\kvm下添加vbios_1005v4.bin文件(如果不用HDMI输出,直通操作到此即可。)

6、最后更新配置信息并重启PVE主机

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

二、

WIN10直通核显HDMI输出

(1)创建WIN10虚拟机,机型选默认,cpu 选host 创建完后。再再硬件里添加 PCI 设备,选显卡添加。选项里面引导顺序选satta 0 ,再那个ied 虚拟CD-ROM, 然后点启动虚拟机,选项安装windows 10.
(2) 安装好后查看windows 设备驱动器,看哪些设备没有驱动。然后,关机windows 10 .
(3)拿一个U盘拷贝Intel-UHD-Graphics-Driver_JX7Y0_WIN_26.20.100.7262_A06,插入小主机USB 接口。
(4) 硬件里点添加USB 设备,使用USB 端口,找到刚才插入的USB 设备添加。再把CD-ROM 里面win10 系统更换为装windows 10驱动的那个ISO
(5) windows 10 虚拟机开启。进入之后安装PCI, 网卡驱动,显卡exe 驱动文件拖到windows 桌面,进行显卡驱动程序安装,安装有点慢,安装完不用点重启。进设备管理器看是否都装上了。然后windows 10 关机。
(6)PVE windows 10 虚拟机硬件里删除PCI设备显卡(hostpci0: 00:02),编辑虚拟机硬件里 显示 改为。虚拟机硬件里添加声卡设备。插入键盘和鼠标到小主机。windows 10 虚拟机硬件里添加USB 键盘和鼠标。
(7)PVE 虚拟机下shell 输入命令

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

“102”为WIN10虚拟机ID虚拟机VM ID. 根据自己windows 10实际VM ID编号修改。
(8)里面代码最上面加入

args: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=vbios_1005v4.bin
vga: none

删除hostpci0: 00:02

(键盘上下键一道最上一行命令最左边,敲回车,按方向向上键移动显示代码到最上一行,copy 这代码)
(9)按ctrl+x, 选Y, 按回车键保存。
(10)HDMI 线接电视和小主机HDMI 口,开启windows 10
新版本的pve,例如pve7.0,无需做驱动屏蔽。请直接开启iommu之后,在pve面板上,虚拟机类型选择Q35,添加直通设备即可。
备注:听说机型q35好些,后面机型如果改成 q35, windows 可能进入无限重启,这时关PVE 虚拟机,再重启PVE虚拟机应该就可以了(如果不行看CPU 是不是没选HOST,选host 就好了)。
如果不行,那只能更改机型为默认 (i440fx),然后启动虚拟机即可。

附上rtl8125B pve升级驱动

windows 激活:

管理员身份运行cmd 输入命令1:
slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX 

输入完敲键盘回车键
输入命令2:

slmgr /skms kms.03k.org

输入完敲键盘回车键
输入命令3:

slmgr /ato

输入完敲键盘回车键

补充:

关于pve local-ISO镜像方式安装IMG系统代码

qm importdisk 100 /var/lib/vz/template/iso/替换文件名.img local-lvm

例如:qm importdisk 100 /var/lib/vz/template/iso/xxxx.img local-lvm

例如:qm importdisk 101 /var/lib/vz/template/iso/DS918__7.0.1-42218.img local-lvm

点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注