软路由 All in One 教程: PVE J4125 Win10 核显直通 HDMI 输出
本文是延续上一篇软路由 All in One 教程: PVE 虚拟机安装 iKuai OpenWrt Docker 的,在我的 J4125 正常,理论上 J4125 通用,其他配置可参考。我的设备型号:倍控 G30 J4125 2.5G 4 网口 i225v3 版本
下载专用 Win10 镜像 (带工具、驱动、运行库) 文件 SHA1:3504d062a4df2b9a68802d7606a38e1d829798bf
镜像是 [不忘初心 Win10 19044.1806 21H1 极限精简版],原格式为 esd,我加了 ISO 的壳,内置的工具驱动列表点此查看,经测试不支持qemu-guest-agent
, 感谢不忘初心大佬。
配置 PVE
下载pve_source程序
,在此处感谢原作者 Jazz
wget -O ~/pve_source https://files.wanghongfeng.cn/shell/pve_source -nv && chmod +x ~/pve_source && ~/pve_source
执行后会有使用协议,按 y 同意,输入 9 再输入 2 进入 pve 系统直通配置。
程序会自动的进行相关配置,提示重启时按 n 先不重启,再按 0 退出脚本。
执行nano /etc/default/grub
命令,还是GRUB_CMDLINE_LINUX_DEFAULT=
这行,在最后的引号前先打一个空格,再加入video=efifb:off,vesafb:off
,最终效果如图。
编辑完文件后按 "Ctrl + X" → "Y" → 回车,确认保存并退出。
执行以下命令以允许不安全中断
echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf
执行以下命令避免死机
echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
执行以下命令向 pve 黑名单添加 hdmi 音频 (少了这个 Win 就没声音了。)
echo "blacklist snd_hda_codec_hdmi" >> /etc/modprobe.d/pve-blacklist.conf
执行以下命令更新 grub 并重启。
update-grub
update-initramfs -u -k all
reboot
本次重启后能看到显示输出卡在以下画面,这是正常的。
重启完成后,执行lsmod | grep vfio
检查是否配置成功, 有相似显示就代表成功。
创建虚拟机
在 local iso 镜像处上传我提供的 windows 的镜像文件。
然后新建虚拟机,名称填写 Win10,镜像选择刚才上传的镜像,类别选Windows
,版本选择10/2016/2019
,系统选项卡中机器选择默认的 i400fx,scsi 驱动器选择 VirtIO SCSI(不带 Single 那个),硬盘总线 / 设备改为 sata,勾选右下角的高级,磁盘大小自己设置,下方 SSD 仿真勾选上。
在 cpu 配置页面,核心还是选择 4 核,类别选 host,将启用 numa 勾选上,内存分配 4096m,网络选择 virtio(半虚拟化),点击完成即可完成创建
配置虚拟机
现在就可以在硬件里添加声卡以及 usb 设备了,但是千万不要添加显卡。
然后就是启动虚拟机开始安装系统了,请不要选择 admin 版本,经过配置完成后会进入系统,此时虚拟机内没有网络。
安装驱动
将此电脑中 cd 驱动器中的 tool 文件夹移动到桌面上,执行里面的禁用自动更新驱动。然后双击virtio-win-0.1.229.iso
,系统会自动挂载此镜像,记住这个盘符。
右键此电脑,点击管理,再点击设备管理器可以看到几个带黄色三角的硬件,都是右键更新驱动程序
, 选择浏览我的电脑查找
,选中那个盘的根目录即可。
远程安装驱动
都安装之后打开 cmd,输入 ipconfig,查看自己的 IP。
打开系统设置 → 系统 → 远程桌面,打开远程桌面。
使用电脑远程连接 ("Win + R" → "mstsc") 此虚拟机,可正常连接就将虚拟机关机,之后打开虚拟机硬件菜单,添加显卡,默认即可。
添加完显卡后开机,重新使用远程桌面进入,进入设备管理器可以看到有个带三角的显示适配器。
将 Tool 目录中intel_vga_26.20.100.7262(station-drivers.com).zip
文件解压。右键更新显卡驱动,选择解压后的目录,点击下一步,稍等几分钟,显卡驱动就安装成功了。
这时候可以重启一次再进入设备管理器看看显卡驱动还在不在,不报错就可以进行下一步。
扩展参数配置
关闭此虚拟机,进入虚拟机硬件页,将显示改为无,并且删除刚才添加的显卡 pci 设备。
执行以下命令下载博主郑羊羊提供的 vbios,我的 j4125 测试使用正常。若你的 j4125 测试不可用,可自行搜索提取教程。
wget -O ~/ZYY_vbios.bin https://files.wanghongfeng.cn/shell/ZYY_vbios.bin
下载完成后执行以下命令重新打开 pve_source 程序,这次按 9 再按 4
cd ~ && ./pve_source
按照以下步骤操作一遍
操作完成后,重新运行此脚本,这次选择按 9 再按 5,复制其提供的参数将最后的文件名修改为实际的 vbios 路径,例如我的机器中代码如下:
-device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=/root/ZYY_vbios.bin
粘贴修改后的参数,程序将会自动将参数加入虚拟机配置文件,现在就可以再 pve 控制台点击启动测试了。
如果开机后没有声音 没有音频设备,小喇叭那里是个红叉,把上面代码里的romfile=/root/ZYY_vbios.bin删除掉就可以了。路径是/etc/pve/qemu-server/103.conf
103.conf改成你自己的虚拟机序号
tool 目录中其他工具请自行安装使用。
PS:我测试了,好像最后不加, romfile = 文件路径这段也能正常显示的
评论区