上次文章介绍了黑群安装和直通核显的两种方式,这一篇讲一下独立显卡的直通方法,目的是让虚拟机里的这个win10能够正常的在显示器上显示,出声音,键盘鼠标遥控器等都能操作,实现HTPC的功能。张大妈上大部分的教程都是针对核心显卡的,我也是多次尝试查阅资料才有了这篇教程,如果朋友们觉得有帮助,请不要吝啬你们的回复点赞,有大家的鼓励我就能继续做干货教程。win10安装有两种方式,我现在用的是荒野无灯大神的虚拟机镜像,如果大家喜欢自己定制的系统可以跳过这部分看安装win10的过程。
首先,下载win10的安装镜像,我去msdn上下的,大家可以自行查找。
选择操作系统,我下的是win10 LTSC 2019的镜像。
然后下载virtio-win的镜像,这个镜像里包括后面我们需要的驱动程序。
我下载的是稳定版的virtio-win.iso的镜像,下载
打开PVE管理界面,选择local,找到ISO镜像选项。上传下好的win10安装镜像和virtio-win.iso镜像。
把win10镜像和virtio-win的镜像上传到PVE东ISO目录待用
上传好以后,创建虚拟机。
操作系统这里ISO镜像选择win10的安装镜像
类别选windows,版本选10/2016/2019
机型选q35,bios默认seabios。
BIOS默认seabios,机型选Q35,Q35可以支持PCIE显卡。
磁盘总线/设备选择SCSI,缓存选wirte back,磁盘大小我这里100G。
CPU选项卡打开高级,勾选NUMA,大家根据自己的处理器选择核心数量,类别填host。
内存我分了8G,这里填8192。
网卡模型选virtio半虚拟化
然后点击确认
点击刚刚创建好的win10虚拟机,点击硬件,点添加CD/DVD驱动器,总线不用改,存储光驱挂载刚才下好的virtio-win.iso镜像,点击创建。
然后在选项——引导顺序里,检查一下是否如图所示。
确认无误后启动win10虚拟机,点击控制台准备安装。
这里安装过程和实体机上差不多,中间有一个小细节需要注意。
这里选择高级
点击加载驱动程序
点浏览,选到virtio-win的这个驱动器。
点左边的三角号打开目录,向下找到vioscsi——win10——amd64,点击确定。注意这里一定要选到amd64这个文件夹,不然会找不到驱动。
点击下一步,等待驱动加载完成。
点击新建
点应用
然后点,下一步。
接下来就和正常安装win10没什么区别了。
进入系统以后,开始菜单上点右键,选择设备管理器。
右键点击以太网控制器,更新驱动程序。
选择浏览我的计算机以查找驱动程序软件。
点击浏览,选择virti-win所在的驱动器。
点击确定
然后点击下一步
驱动程序安装成功
另外一个PCI设备是ballon驱动,按照这个办法装就行。
进入系统以后第一件事是下载远程控制软件,打开开始菜单,切换到大写输入IE,这里会出现IE浏览器。从todesk官网下载安装包,安装以后运行。使用自己的账号登陆以后,在安全选项卡里选中可以使用密码和动态码登陆,todesk需要6位密码登陆,自己设置好以后就可以关闭win10了。大家如果用teamviewer或者向日葵参考我这个方法做就行了,意思都是一样的。
核心显卡和独立显卡直通:
上一篇PVE部署DSM7.0的教程中,开启GVT-g的时候已经打开了iommu和GVT-g功能,也加载了直通所需的模块。之前的PVE和unraid的教程中需要中断,添加blacklist啥的,经过我测试在PVE7.0中已经不需要这么麻烦了,只需要开启iommu就行了。
这里把上一篇写的内容搬过来再啰嗦一遍:
修改grub,加载intel的iommu功能。
进入PVE管理后台,打开shell,我们首先要打开主板的iommu功能和GVT-g的支持。
nano /etc/default/grub
在里面找到:GRUB_CMDLINE_LINUX_DEFAULT="quiet"
然后修改为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_gvt=1"
一般用户,如果不需要开启intel核心显卡的话,后面i915.enable_gvt=1这段可以不用,只需要改成quiet intel_iommu=on即可。
然后保存,退出。
输入如下命令更新grub
update-grub
然后在/etc/modules中添加模块
echo vfio >> /etc/modules
echo vfio_iommu_type1 >> /etc/modules
echo vfio_pci >> /etc/modules
echo vfio_virqfd >> /etc/modules
echo kvmgt >> /etc/modules
然后输入cat /etc/modules确认是否添加
添加完成后更新
update-initramfs -u
更新完成后,重启主机。
reboot
修改win10虚拟机中的机型为q35,q35支持PCIE。
添加PCI设备,找到自己的独立显卡,我的是ATI 5770。
打开高级,勾选所有功能(这样就不需要再把显卡带的HDMI声卡直通过来了),主GPU,PCI-E,点击添加。
显示这里,从默认改成无,否则无法正常安装显卡驱动。
然后启动电脑,正常情况下一分钟内todesk会提示主机上线,如果1分钟左右仍然没看到,就把控制端这边的todesk退出,然后再登陆即可。
输入刚才设置好的密码,进入远程界面。
进入系统后,还是先进入设备管理器。
找到显示适配器,在windows基本显示适配器这里点击右键,更新设备驱动。
等一会就找到了AMD 5700驱动,安装安装过程中HDMI自动安装好了。
独立显卡驱动安装好了,右下角的声卡驱动也一并安装成功了。
不管在KVM扩展器或者投影仪上图像和声音都很正常,既然提到了KVM扩展设备,这里我把USB直通展开讲一下,后续大家扩展蓝牙或者无线键鼠还需要用到。
回到PVE管理后台,硬件,添加USB设备,这里选第二项,选择设备,这里我选了KVM设备,键盘鼠标蓝牙无线网卡等也可以通过这种方式添加。
如果你需要使用某一个USB端口专门直通给win10虚拟机,可以选上面第一个选项,直通某一个USB接口,这个方式可能DSM会用到,比如我把机箱前置的USB3.0接口直通给DSM,让他可以挂载移动硬盘。
想到这稍微进阶下吧,我把GVT-g的核显也弄到win10上了,毕竟老迈的5770打游戏还凑合,编解码还需要靠HD630核显。
写到这里解释一个灵异的情况,开始我还以为是AMD显卡和INTEL核心显卡冲突,结果到了todesk远程的时候我偶然发现了这个。
可能是intel的核心显卡输出到了不知道哪里的一个显示器上去了,造成我投影机和KVM上的显示器黑屏了,解决的方法也很简单。向下把扩展显示改成只在1号显示器上显示就行了。
直通到投影仪HDMI接口测试:
之前看PVE6.2的教程都提到了,显卡直通WIN10以后,虚拟机重启声卡没有声音的问题。但是这次在PVE7上面没有出现这个问题,虚拟机开关机和正常实体机一样,不会影响声卡出声音。上次文章我追加了百度网盘的链接还是被吃了,这次照例发出来看缘分吧。
实在找不到DSM引导的朋友可以在网上搜一下,现在许多的PVE装DSM的教程里都有链接,我也只是一个教程的搬运工而已。
为了证明搭建成功,我跑测试了可以正常进入游戏,这台主机可以当作一台独立的主机来使用了。直通USB的内容我会在后面玩的过程中不定期的发出来,这里不禁要感慨一句linux内核的强大,在linux上跑KVM虚拟化能够做到和实体机差不多的效率实属难得,况且linux还有着比win更高的可靠性。随着接下来的折腾,还会有更多的进阶教程会不定期的发出来,敬请期待。