esxi8.0 amd核显直通失败教程,写给大家借鉴参考(比如独显和intel11-14代核显使用)
amd核显直通 esxi,通不了,以我的天宝wtr 5500u为例做下面失败教程。
第一部分:准备工作
1、esxi8.0环境安装好并把win10虚拟机(去掉安全引导)安装好运行正常
2、准备好2个rom,参考下面教程准备工作中生成的vbios_1002_164c.bin和AMDGopDriver.rom

3、esxi虚拟机配置需要配置以下内容



内存选预留。
在添加其他设备里面去选择pci设备,把核显和声卡添加进去,注意先核显后声卡

有了这些设置以后,虚拟机是下面这样的配置



需要加入这些参数:
hypervisor.cpuid.v0=FALSE
pciPassthru0.opromEnabled=TRUE
pciPassthru1.opromEnabled=TRUE
pciPassthru0.filename=/vmfs/volumes/datastore1/vbios_1002_164c.bin
pciPassthru1.filename=/vmfs/volumes/datastore1/AMDGopDriver.rom
vbios_1002_164c.rom和AMDGopDriver.rom你想办法传在上面路径就是
解释下参数,v0=FALSE代表告诉机器不是虚拟机是物理机
opromEnabled使用rom
filename rom的读取路径


到此虚拟机算是配置完成。
4、esxi开启ssh并配置两个地方
4.1开启ssh不再描述
4.2 屏蔽显示输出
在ssh命令中输入命令:
esxcli system settings kernel set -s vga -v FALSE
4.3 配置一下/etc/vmware/passthru.map
如果你开启虚拟机卡66%以上开机进度,并很久才提示开机电源失败,一般都是pci设备reset方法没实现或者你没手动设置。你可以dmesg确认是不是有reset报错信息。如果开机正常,不需要用下面操作设置。我这里核显和声卡都不正常(都要报reset错误)只有手动设置一下。



vi /etc/vmware/passthru.map
你到硬件 ---PCI设备中查询下你要直通的设备的id

我这里显卡是1002 164c,声卡是1002 1637
在/etc/vmware/passthru.map最后加入以下最后的三行,空格和上面的保持对齐
10de ffff bridge false
# AMD FCH SATA Controller [AHCI mode]
1022 7901 d3d0 default
# amd gpu
1002 164c d3d0 default
1002 1637 d3d0 default
5、然后重启一下esxi
6、安装好系统的状态下直通核显后启动虚拟机,你就能看见vmware的logo和进win系统后卡画面

将高级参数中 svga.present 参数改为 FALSE,即可关闭内置的虚拟显示器
然后只有显示器输出的效果见下面两张图:


7、没系统的状态下直通核显后启动虚拟机并安装系统
将高级参数中 svga.present 参数改为 FALSE,即可关闭内置的虚拟显示器
然后设置好win10安装ios,开机一路安装





然后就黑屏了!!!!
把系统关了以后重新进去后一看显卡43错误,没戏了!!!!!

最后,受限于amd核显reset bug(不管是核显还是核显声卡),esxi8.0 又是严格每次虚拟机开机都要去调用一下直通pci设备的reset方法的。amd核显直通不完美,卡画面进不了win系统。留给网友自己去折腾完善吧。
我看了下,卡机卡画面的时候,控制台上会显示虚拟机的电源已经是关机状态了,你再次开机绝对卡66%进度(受限于rest bug问题)

如果是intel11-14代核显,我估计还是能通的(intel没resetbug,多给他传几个rom,以及其他参数配置),还有没有restbug的独显我估计也是能完美通的,有空我试试我的rx588独显。
能力有限。只能搞到目前这样半成品。卡画面状态。我个人认为受限于reset bug,不会成功的,但是发出来给intel11~14代用户折腾,以及独显用户折腾,只要没reset bug 估计都能照此教程成功(依葫芦画瓢挂1到多个rom)
另外:我个人认为只要q35不加其他参数在pve下能显卡直通的,就能在esxi上直通(前提是显卡没有reset bug问题),只能i440fx的很可能不行(11-14代20231004我试了不出画面,特殊参数没法在esxi平台上加入,esxi的虚拟化底层和linux的虚拟机底层kvm是不一样的)