缘起
之前提到过再次折腾pve就是因为看到了有大神研究出新cpu直通核显给windows的操作,所以这次跟着大神的教程来一步一步直通核显,我用的是x6413e来演示,十代之后的cpu都可以用这个方法试试,不过这个直通方式是有缺陷的,一是hdmi没法输出声音,二是windows没有启动画面,这样子也就尝尝鲜,建议等以后稳定了再直通核显。
折腾
废话不多说,直接开搞,首先装好pve后ssh进命令行,然后去安装一个叫“pvetools”的工具优化下设置,将软件源换掉。显示温度,去掉订阅提醒也可以执行下,换完软件源后执行下apt update && apt dist-upgrade -y
更新软件。
换完源后,输入nano /etc/default/grub
编辑grub,找到图示类似代码,注释掉后在下面加上这行命令GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
ctrl+x回车,输入y回车保存并退出。
回到命令行输入update-grub
更新grub,使grub修改生效
配置modules,命令行输入nano /etc/modules
,如图示添加以下内容vfio vfio_iommu_type1 vfio_pci vfio_virqfd
ctrl+x回车,输入y回车保存并退出。
n5105需要运行这两行命令,echo "options vfio-pci disable_vga=1" > /etc/modprobe.d/vfio.conf
和 update-initramfs -u -k all
这会导致windows没有开机画面,其他cpu可以试试不加能不能行,反正运行下为好。这两段命令需要运行一段时间,运行完后输入“reboot”重启下pve。
以下操作是升级内核,非必须,新CPU可以升级下。命令行输入apt update
zhixi执行完后再输入apt install -y pve-kernel-6.2.9-1-pve pve-headers-6.2.9-1-pve pve-firmware
等待命令执行完成,升级的时间会有点久,升级完还是执行“reboot”重启下。
接下来的步骤是安装虚拟windows,这步上期的文章详细介绍过了,就不再赘述。安装好windows后,按下面操作打开远程桌面,方便一会儿远程连接windows,如图示,打开设置,搜索框中输入远程远程桌面,搜索并找到远程桌面设置,打开开关,弹出的对话框中点“确认”就打开远程桌面了。
然后右下角点击网络连接图标,如图示,找到本机的IP地址。然后在局域网内的其他电脑上打开windows自带的“远程桌面连接(RDC)”应用,输入刚才找到的ip地址,然后再输入装windows时设置的用户名和密码,能成功连接进去即可。
关闭windows虚拟机,打开pve后台管理界面,打开刚才新建的虚拟机设置界面,如图示,在虚拟机的硬件设置里面,点击“添加”按钮,在下拉框中点击“pci设备”,在弹出的对话框中选择核显,再重复操作一遍把声卡也选上,一般核显的编号是02.0,声卡的编号是1f.3,不确定的话可以在命令行输入“lspci”查看pci设备编号。
双击“显示”设置,将选项由“默认”改为“无”。
去ArchWiki https://web.archive.org/web/20201020144354/http://120.25.59.132:3000/vbios_gvt_uefi.rom
下载vbios,将下载好的文件用winscp等工具上传到pve的/usr/share/kvm目录下。
来到命令行,在命令行输入 nano /etc/pve/qemu-server/100.conf
回车,这里的100是虚拟机的id,如图示改为自己的win虚拟机id。如图示,在第一行添加args: -set device.hostpci0.addr=02.0 -set device.hostpci0.x-igd-gms=1 -set device.hostpci0.x-igd-opregion=on
在核显编号的后面添加,legacy-igd=1,romfile=vbios_gvt_uefi.rom
ctrl+x回车,输入y回车保存并退出。
检查下配置无误后启动windows虚拟机。VNC显示无法连接是正常的,因为显示选择了“无”。用远程桌面连接windows虚拟机,如果远程桌面一直连接不上,就删掉刚才在100.conf文件里的设置,还有恢复虚拟机硬件里的设置,重新进入windows桌面再关机再重复刚才的直通操作。
y远程桌面连接上windows后,打开设置里的“windows更新”,点击“检查更新"会自动安装核显驱动,用其他方式打的核显驱动容易报错,建议用windows更新的这个核显驱动。更新完驱动后,在任务管理器里就能看到GPU的选项了,就说明驱动打好了。
主机连接上显示器,重启下虚拟机,显示器黑屏一会(因为看不到启动过程)就能进入系统了,至此折腾完毕。
总结
目前这个方式直通核显还是不太完善,期待将来能有完美直通的方案。
文章评论