因为架设在虚拟机上的 Plex Server 需要 Intel UHD 显卡正确驱动才能使用硬件转码,所以服务器上插了一块亮机卡,然后在 ESXi 里面将 Intel UHD Graphics 显卡直通给了 Windows 虚拟机。
但是,虚拟机通过 Windows 更新打上各种驱动之后,Intel UHD 显卡报错代码 43,无法启动。
折腾了一圈,大概发现了问题所在。Intel 显卡驱动程序在 7000(版本号最后四位)版本之后,加入了 CPUID 检查。如果 ESXi 向 Windows 系统报告的是“虚拟处理器”,那么就会造成显卡无法驱动。
所以,通过降级到 v26.20.100.6911 就可以搞定。
但是,真的这么简单吗?非也。
通过降级驱动的方法,的确可以在 Core i7 8700 + Z370 组合上修复 Intel UHD 驱动问题。但是换到 Core i7 8700K + Z390 组合上就不行了。有可能是驱动版本太低了,不支持 Z390 芯片组?
那么,换了高版本之后就要把真实的 CPUID 报告给虚拟机才行。这时候需要在 .vmx 里面加入下面这个设置(也可以在 ESXi 界面中编辑虚拟机,在 VM Options -> Advanced -> Edit Configuration 里面添加)
hypervisor.cpuid.v0 = FALSE
目前为止,一直到 v27.20.100.9466 版本都可以正常驱动 Intel UHD Graphics 630。不知道今后 Intel 会不会再在驱动里面搞些莫名其妙的检查。
10代以后的cpu好像这个办法也不行了
如果没记错的话,10代酷睿没有在 ESXi 6.7 的兼容列表里面,需要 ESXi 7.0 才有正式的支持
我去,12代的U 怎么也没法直通显卡。。。。
12代应该 ESXi 6.7 没有支持了,如果 ESXi 7.0 再没法直通的话,还是换 Proxmox 吧