05
2024
06
10:29:40

esxi8.0 amd核显直通失败教程,写给大家借鉴参考(比如独显和intel11-14代核显使用)

1、在做嵌套安装Hyper-V时,需要修改VMWare Workstation里面的虚拟机的配置文件:

        hypervisor.cpuid.v0 = "FALSE"       

        mce.enable = "TRUE"

    2、打开VMWare Workstation虚拟机对虚拟化的支持

————————————————



amd核显直通 esxi,通不了,以我的天宝wtr 5500u为例做下面失败教程。

第一部分:准备工作

1、esxi8.0环境安装好并把win10虚拟机(去掉安全引导)安装好运行正常

2、准备好2个rom,参考下面教程准备工作中生成的vbios_1002_164c.bin和AMDGopDriver.rom


amd全系列7940 7840 5500 5700等unraid核显直通简单教程

前言:2023年9月10的时候我发过下面这篇文章:amd全系列7940 7840 5500等pve核显直通简单教程(不定制ovmf了和2023年7月31的时候我发过下面这篇文章:amd全系列7940 7840 5500 等bios和核显vbios提取并 核显直通win10教程 出bios启动画面(以下简称上面两篇教程为以前的教程)想了下,unraid和pve既然同源kvm,很多思路也参考了unraid的一些教程,要不也把unraid核显直通教程也做了算了。先废话几句:amd核显直通win10可以直接参考这

李晓流2784


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


变成直通活动
这三个不勾选


内存选预留。


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


直通pci 核显和hdmi声卡


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


虚拟机配置
虚拟机高级参数配置
编辑高级参数


需要加入这些参数:

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命令中输入命令:


JavaScript" class="  language-javascript" style="--tw-shadow: 0 0 transparent;--tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgba(59,130,246,0.5);--tw-ring-offset-shadow: 0 0 transparent;--tw-ring-shadow: 0 0 transparent;font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size: 14px;padding: 1em;color: rgb(0, 0, 0);background-color: rgb(245, 242, 240);text-shadow: rgb(255, 255, 255) 0px 1px;text-align: left;word-spacing: normal;overflow-wrap: normal;line-height: 1.5;hyphens: none;overflow: auto">esxcli system settings kernel set -s vga -v FALSE


4.3 配置一下/etc/vmware/passthru.map

如果你开启虚拟机卡66%以上开机进度,并很久才提示开机电源失败,一般都是pci设备reset方法没实现或者你没手动设置。你可以dmesg确认是不是有reset报错信息。如果开机正常,不需要用下面操作设置。我这里核显和声卡都不正常(都要报reset错误)只有手动设置一下。



卡66%开机进度
6.0核显reset报错
6.1声卡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系统后卡画面


不加两个rom进去系统打好驱动后43错误效果


将高级参数中 svga.present 参数改为 FALSE,即可关闭内置的虚拟显示器

然后只有显示器输出的效果见下面两张图:


有bios画面输出
Windows logo画面


7、没系统的状态下直通核显后启动虚拟机并安装系统

将高级参数中 svga.present 参数改为 FALSE,即可关闭内置的虚拟显示器

然后设置好win10安装ios,开机一路安装



好像在安装
安装成功
还没打驱动


然后就黑屏了!!!!

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




最后,受限于amd核显reset bug(不管是核显还是核显声卡),esxi8.0 又是严格每次虚拟机开机都要去调用一下直通pci设备的reset方法的。amd核显直通不完美,卡画面进不了win系统。留给网友自己去折腾完善吧。

我看了下,卡机卡画面的时候,控制台上会显示虚拟机的电源已经是关机状态了,你再次开机绝对卡66%进度(受限于rest bug问题)



卡66%进度



如果是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是不一样的)


20240502更新,有网友有成功案例,7840hs的,《GOD78 下 ESXi 直通 7840HS 核显

详细请访问 https://jerrita.cn/archives/62/

GOD78 下 ESXi 直通 7840HS 核显

在 GOD78 下的 ESXi 直通 7840HS 核显的教程,其他机型可以参照此法进行适配。

前言: 你可以在我的 FLS Service 找到部分你想要的工具

Step 0. 放通直通

打开 管理 -> 硬件 -> PCI 设备,选中 AMD/ATI 的两个设备,点击切换直通。

Step 1. 获取你机子的 BIOS

你可以选择去官网下、找客服拿、自己提去三种办法。GOD78 由于没有官网,我去找客服要了一份。自己提取的方式可以参考 Reference。

Step 2. 提 AMDGopDriver 与 vbios

  1. 使用 UBU (UEFI BIOS Updater),把 bios 放到解压出来的文件夹中并运行 UBU.bat,选择 Video OnBoard -> Share files. 即可在 Extract 文件夹找到你的 AMDGopDriver.efi,保存到一个位置。

  2. 使用 extracter 提取 vbios,保存。或是自己编译,代码于: Jerrita's SCS

Step 3. 合并生成 ROM 文件

参考以下命令,0x15bf 是 7840HS 核显的 id,AMDGopDriver 是你上一步的提取。

# 1. 下载工具git clone https://github.com/tianocore/edk2-BaseTools-win32 --depth=1# 2. 合并文件.\EfiRom.exe -f 0x1002 -i 0x15bf -b .\vbios_1002_15bf.bin -e .\GOP\3.Aug_NoSign\AMDGopDriver.efi -o god78.rom
Bash

Step 4. 配置虚拟机

  1. 把上一步的 rom 文件想办法丢到 ESXi 上

  2. 在虚拟机页面 编辑 -> 虚拟机选项 -> 高级 -> 配置参数,添加参数如下

hypervisor.cpuid.v0 = FALSE
pciPassthru0.opromEnabled = TRUE
pciPassthru0.filename = /vmfs/volumes/datastore1/utils/god78.rom
vhv.allowPassthru = TRUE
Toml

Step 5. 配置宿主机

不知到为什么 ESXi 在你直通后不愿意让你开 CPU 嵌套虚拟化,但是这里可以配置自动启用,来实现 PCI 直通于 CPU 嵌套共存(嵌套虚拟化可以让你开 mumu 挂机手游(x)。

vi /etc/vmware/passthru.map
Txt

在后面加上

# AMD GPU1002  15bf  d3d0     default
1002  1640  d3d0     default
Bash

接下来配置 /etc/vmware/config,加上

vhv.enable = "TRUE"
Bash

然后重新引导 ESXi 即可。(注意下方对 windows 的内存分配的坑)

Step 6. Fix Reset Bug

每次 win 虚拟机在关机后,都不能正常再次启动,或是启动后 GPU 消失,这是由于 ESXi 在启动机器前后会 reset pci 设备导致的。

你将会使用以上 Repo 进行解决,但是在 win11 中若想直接执行似乎还有很多的步骤。因此我先跳过了此步,以后有时间再把这个补丁打上。毕竟只要我不关机都是无所谓的。就算关机了手动重新引导下 ESXi 就是。

Issues

  • 内存分配有坑,8192不行,8200可以; 12288不行,12200可以

References




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/6501.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: