N5105 12代核显直通 PVE UEFI Windows虚拟机HDMI输出

2023-04-19 15:40:13 2点赞 27收藏 9评论

本文是我的视频《N5105 12代核显直通 PVE UEFI Windows虚拟机HDMI输出》的文字说明版,因为是很久之前做的内容,并且一直没有研究相关问题,所以本方案不一定是目前最合适的。如果有不明白的地方,可参照视频中的操作,如视频与文字版不同,请以文字版为准。

这次的方案主要针对ProxmoxVE Windows虚拟机下的核显直通,我在N5105第三版工控机和12代桌面平台实测过,其他机器也可以试试。
本方案可以实现Windows虚拟机下核显驱动后在显示器上显示,视频解码没有问题。
注:本方案在N5105第三版机器上有以下两个问题
 1. 看不到虚拟机启动画面
 2. 声卡HDMI音频输出不能正常使用
第1个问题只针对Windows虚拟机,Ubuntu虚拟机是可以实现开机画面显示的。另外8~9代的UHD630核显,同样使用UEFI核显直通是可以实现Windows虚拟机的启动画面显示的。
第2个问题在N5105上无论Windows还是Ubuntu虚拟机都存在,但在12100机器上Ubuntu虚拟机却可以正常输出音频。

PVE直通设置

相比之前legacy核显直通方式只有很小的区别。
修改/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

运行命令使grub修改生效

update-grub

修改/etc/modules,添加以下内容(非必需,虚拟机直通时会自动加载相关模块)

vfio

vfio_iommu_type1

vfio_pci

vfio_virqfd

N5105不需要在pve-blacklist.conf添加核显和声卡驱动模块,但需要增加一个VFIO配置文件。
输入以下命令创建一个配置文件
(此配置文件会导致开机画面无法显示,其他机器可以尝试不添加这个配置文件,如果能正常驱动,那么更完整的UEFI直通方案也会适合你)

echo "options vfio-pci disable_vga=1" > /etc/modprobe.d/vfio.conf

运行命令刷新initramfs并重启PVE,使以上修改生效

update-initramfs -u -k all


Windows虚拟机设置

安装Windows

新建一个Windows虚拟机,BIOS设置为“OVMF”,机型设置为“i440fx”。

N5105 12代核显直通 PVE UEFI Windows虚拟机HDMI输出

在不直通核显和声卡的情况下安装Windows系统。
挂载VirtIO驱动盘安装半虚拟化网卡等必要的驱动,开启远程桌面。
测试远程桌面可以正常连接后,关闭虚拟机。

核显直通设置

通过web页面添加核显、声卡等PCI设备,显示设置为“无”。
从ArchWiki下载vbios_gvt_uefi.rom
将vbios_gvt_uefi.rom通过WinSCP或其他方式放到/usr/share/kvm/目录下
编辑/etc/pve/qemu-server/<VMID>.conf
在直通核显一行后面添加legacy-igd和romfile,如下所示

hostpci0: 0000:00:02.0,legacy-igd=1,romfile=vbios_gvt_uefi.rom

args添加以下内容

args: -set device.hostpci0.addr=02.0 -set device.hostpci0.x-igd-gms=1 -set device.hostpci0.x-igd-opregion=on

启动虚拟机,登录远程桌面。
如果登录不成功,关闭虚拟机,去除虚拟机核显直通后启动一次,然后再次添加核显直通启动虚拟机。
通过Windows更新或是从官网下载安装核显驱动。
核显驱动安装成功后,应该可以在显示器上看到画面输出。

其他设置

因为不需要在blacklist添加核显驱动模块,所以添加钩子脚本让虚拟机关闭后恢复宿主机显示的操作还是可以实现的。
具体操作可以查看我之前的文章“钩子脚本”部分

以上就是N5105工控机在PVE下Windows虚拟机的核显直通操作,有一些问题是本人无法解决的,没这个能力知道吧。只是抛砖引玉,希望有高手能解决上面提到的问题。



作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
9评论

  • 精彩
  • 最新
  • 此方法可以给群晖直通么 , [Mua]

    校验提示文案

    提交
    可以直通,但不确定黑群能不能驱动核显。我觉得直通给windows虚拟机用处更多,而且windows一样可以安装Jellyfin来实时转码

    校验提示文案

    提交
    大佬 我J4125就一块硬盘啊 是不是没法直通 然后你有没有 WIN10的简化版啊?我感觉J4125 跑WIN10 好卡啊

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 选默认 (i440fx)和q35的区别是啥?区别很大吗???

    校验提示文案

    提交
    legacy-igd这个参数只支持i440fx

    校验提示文案

    提交
    收起所有回复
  • 大佬,R86S这款5105的机器按您教程也可以么?

    校验提示文案

    提交
  • 大佬,照着你的教程搞定了十代的直出,现在又开始折腾十二代,但是那个vbios的rom文件实在是下不到,能给一份么? [害羞]

    校验提示文案

    提交
  • 装显卡驱动死机了。。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
27
扫一下,分享更方便,购买更轻松