VMware ESXi 8.X 黑苹果安装优化教程
2023-4-15 11:54:19 Author: www.sqlsec.com(查看原文) 阅读量:53 收藏

本文理论上是全球首发了,因为谷歌确实没有搜索到有人 ESXi 黑苹果直通 A 卡成功的案例,大多数都是 N 卡直通黑苹果成功的,但是 N 卡从 macOS 10.14 系统开始基本上就是残废的状态,所以本文直通 A 卡成功的姿势对全球黑苹果和虚拟化玩家来说还是有一定意义的,此外出了最新发布的 ESXi 8.0 系统,理论上来说 ESXi 7.X 和 6.X 也是可以成功的,这个得需要网友们自己去尝试看看了。

写在前面

首先得先感谢一下 @darkless 好友的经验,让我在 ESXi 黑苹果直通这少走了很多弯路。

最近恰好 PVE 下黑苹果直通出了点小问题,那么乘次机会来尝试一下Vmware ESXi 8 看看。

准备工作

  • ESXi 8.X 的安装镜像
  • macOS 的安装镜像
  • 免驱的 AMD 独显 1 个:RX 4X0、RX 5X0、RX 5X00、RX 6X00 等
  • 主板 BIOS 建议开启如下设置:
    • 开启 Intel VMX 虚拟化技术(PCIe 硬件件直通必须)
    • 开启 VT-d (PCIe 硬件直通必须)
    • 开启 SR-IOV 虚拟化技术 (高效先进的虚拟技术)
    • 开启 Above 4G Decoding(如果玩 vGPU 方案需要开启这个选项)
    • 开启 Numa (多路 CPU 建议开启,提高多路 CPU 运行效率,合理分配负载)
    • 开启 x2APIC(PCIe 硬件直通需要)

安装 ESXi

首先使用 Windows 下经典的 Rufus 制作一下 ESXi 启动盘

然后 ESXi 没啥可说的,谷歌一下,你就知道,本文重点的 ESXi 下的黑苹果,不能主次颠倒了。

很快啊,就安装好了,ESXi 8 的登录界面变了不少,符合现在的审美:

里面的界面布局感觉是没啥变化的:

安装 macOS

上传镜像

我们玩黑苹果的基本上都是搞的 dmg 镜像,自行转换成 img 镜像后上传到 ESXi 的存储空间里面去:

创建虚机

因为目前 esxi unlocker 项目还不完全支持 ESXi 8,所以这里虚拟机的兼容性设置成 ESXi 7.0 U2:

macOS 版本选择 macOS 12,时间上我们使用 macOS 12 安装 macOS 13 Ventura 也是完全 OK 的。

硬件这里设置 8 核 16GB,为了方便后面直接直通显卡,我们这里需要勾选一下「预留所有客户机内存」选项:

为了更好的网络性能,网卡设置成 VMXNET3 万兆类型,然后手动选择我们之前上传好的 iso 镜像文件:

系统安装

macOS 系统安装对于玩过黑苹果的用户来说很简单了,如果你没有黑苹果基础的话,关于 macOS 安装部分可以参考我的黑苹果专题文章:黑苹果系统安装 - 国光的 PVE 环境搭建教程

ESXi 方便就方便在还可以使用 Vmware Workstation 连接管理:

很快我们系统就安装好了:

安装 Vmware Tools

刚刚安装好的话,显存只有 3MB,虽然后面我们会直通独显,但是安装一下 Vmware Tools 总比没有安装的好。我们如果手动安装 Vmware Tools 的话,多半还是会提示我们:

我们去官方下载页面下载一个 darwin.iso 即可:

没有 VMware 账号的话可下载国光我上传到蓝奏云的链接

手动安装一下,根据提示引导一个个允许扩展即可:

安装好之后显存就是 128MB 了,而且 Vmware Workstation 去连接的话也会自适应窗口调整分辨率的大小:

直通 USB

首先在「管理」-「硬件」-「PCI 设备」-「搜索 USB」将我们的 USB Controller 切换直通,使其处在活动状态:

直通 USB 控制器

这样我们可以简单一点,以直通 PCI 的形式,直接将 USB 控制器添加到 VM 虚拟机中:

这种确实是简单高效的,仔细想一下,我们需要直通 USB 的 VM 没有这么多,最多也就是 Windows 打游戏和 macOS 黑苹果办公,恰好我这边正好有两个 USB Controller,每个 VM 占用一个也是个很不错的方案。

直通部分 USB 设备

其实通过上述一番操作之后,虚拟机系统也可以来识别一些 USB 设备信息,我们选择添加 USB 设备即可直通:

但是这些设备并不是很齐全,比如这里就确实了键盘和鼠标的 USB 信息。

直通任意 USB 设备

首先 ESXi 开启服务模式,SSH 进入 ESXi 的 shell 环境,使用

lsusb

查看列出目前 ESXi 宿主机的 USB 设备信息:

将上述需要直通的 USB 信息整理出下面的表格:

厂商 ID 设备 ID 设备说明
0d8c 0014 USB 音频设备
08bb 2902 USB 音频设备
0f39 0611 IKBC Poker 键盘
046d c08b 罗技 G502 鼠标

usb.quirks.device<编号> = "0x<厂商ID>:0x<设备ID> allow" 的格式,添加到 /etc/vmware/config 文件后面

vi /etc/vmware/config

根据我的情况文件末尾添加如下内容:

usb.quirks.device0 = "0x0d8c:0x0014 allow"
usb.quirks.device1 = "0x08bb:0x2902 allow"
usb.quirks.device2 = "0x0f39:0x0611 allow"
usb.quirks.device3 = "0x046d:0xc08b allow"

继续编辑 /bootbank/boot.cfg 启动引导文件,禁用掉VMkernel对上述设备获取控制权。:

vi /bootbank/boot.cfg

kernelopt 参数后面添加如下格式:

CONFIG./USB/quirks=0x<厂商ID>:0x<设备ID>::0xffff:UQ_KBD_IGNORE:0x<厂商ID>:0x<设备ID>::0xffff:UQ_KBD_IGNORE

最终国光我编辑的内容如下:

CONFIG./USB/quirks=0x0d8c:0x0014::0xffff:UQ_KBD_IGNORE:0x08bb:0x2902::0xffff:UQ_KBD_IGNORE:0x0f39:0x0611::0xffff:UQ_KBD_IGNORE:0x046d:0xc08b::0xffff:UQ_KBD_IGNORE

操作完成后,重启 ESXi 宿主机,然后我们就可以通过编辑虚拟机设置来灵活地添加 USB 键鼠设备了:

直通后我们就可以使用键盘和鼠标操作我们的黑苹果虚拟机了,进系统也发现可以正常识别了我们的 USB 设备:

直通网卡

因为 WiFi 无线网卡本身是走 PCIe 接口传输数据的,所以这里直通就很简单了,切换网口的直通状态,然后直通对应的 PCI 设备即可:

因为直通了免驱无线网卡的 WiFi 和蓝牙,所以理所应当的我们可以正常使用 macOS 原生的隔空投送和接力功能:

直通独显

补充一下,N 卡直通会比较简单,没那么曲折,但是众所周知 N 卡在 macOS 系统上基本上是半残废的状态,要想很棒的黑苹果体验,还是得准备一个 AMD 免驱独显才可以。

下面说到重头戏了,就是直通 AMD 免驱独显,本次使用的 RX 570 公版涡轮显卡来进行演示,实际上好友 darkless 他使用的是 RX 6600 也是成功直通使用的,而且不像黑苹果物理主机一下需要添加防黑苹果参数,这一点还是有点小意外的,话不多说,开始正式教程。

切换直通状态

直通 PCI 显卡

直通一下显卡相关的设备,一般就是显卡本身以及 HDMI 音频,部分带 Type-C 的显卡可能还需直通一下 Type-C 部分:

实际问题情况

显示器黑屏没有反应,但是系统报告信息里面已经识别到了 A 卡了,可惜就是无法驱动:

本打算这篇文章继续像保姆一样,亲手把饭喂到读者嘴边一样,正常详细地写完的,但是考虑到这并不是国光我原创的解决方案,国光我也无权利免费共享给大家,所以挨骂就挨骂吧,我国光要脸皮厚一点了。而且历史上国光我也写了很多免费的教程,虽然还是有网友鼓励支持的,但是那些蹬鼻子上脸的伸手党也无处不在,好像我们这些原创者欠他们似的?所以,从现在开始,国光我要放下助人情节,我要变坏,我要叛逆:

既然别人的 ESXi 镜像都可以卖 100 块钱,还很多人去付费购买,为什么我们黑苹果更硬核一点的玩家不可以这样做呢?经济基础决定上层建筑,先活下来,站点维持下去再讨论那些理想啥的吧,就这样决定了!


此处省略一些非常关键的操作,还有一些日以夜继日(2点睡 6点起)排错的坑点记录,想要实现 ESXi 完美黑苹果方案,有兴趣和有条件的朋友可以尝试知识付费一下……

  • 提供 ESXi 8.0 解锁黑果和打包 NVME 以及网卡驱动的镜像
  • 提供最新的 macOS 12.X 和 macOS 13.X ESXi 可引导原版镜像
  • 提供傻瓜式 VMDK 黑苹果文件,一键安装黑苹果
  • 提供 ESXi USB、独显直通等远程技术支持等


最终效果

无论是自己尝试,还是知识付费尝试都需要经历一番操作的,无非是知识付费走的弯路要少一点,但还是需要人力成本去解决问题,最终我们的 ESXi 成功直通了 AMD 显卡以及免驱的 BCM 博通无线网卡,以及直通了 USB 任意设备,最终我们的 ESXi 黑苹果基本上完美了,其实也足够单刃生产力工具了!!!

系统只是工具,我们要学会使用系统去创造价值,而不是沉迷如何安装系统上,这句话也送给大家。

最后来看看我们这个 ESXi 的直通效果怎么样吧:

系统信息

Vmware7,1 机型,系统报告里面可以明显看出这是一个虚拟机:

显卡信息

AMD RX 570 驱动正常,DP 接口正常带动 4K 120Hz 屏幕,且 HiDPi 原生识别正常:

网卡速率

ESXi 下使用网络类型默认 macOS 下免驱,这 10G 网卡可以妥妥的万兆网卡速率哦:

硬盘相关

ESXi 下的虚拟硬盘在 macOS 下识别为 SATA 类型,使用「厚置备,延迟置零」的情况下,手上这个 S500 Pro 1TB 速度测试都挺正常的,和直通的效果差不多:

软件测试

QQ 也可以正常打开,这一点要单独提一下,PVE 黑苹果使用 Virto 打不开 QQ 和一些软件,只能切换 SATA 类型硬盘使用,但是 4k 读写会变得巨慢,体验不好;ESXi 下黑苹果默认就是 SATA 硬盘,所以软件没遇到啥兼容性问题,且读写速度和真实的硬盘速度差不多,没啥损耗。

无线蓝牙

无线和蓝牙均正常使用:

隔空投送

隔空投送正常发送和接受文件:

Hackintool

三码序列号追求完美的话需要想办法重新定制一下,这里挖个坑,国光我后面会填的:

这里可以看到基本上设备都正常识别和驱动的:

不过这里 USB 驱动方式可能是 Vmware 自己定制的,Hackintool 虽然识别不到 USB,但是 macOS 系统报告里面可以正常识别:

Sensei

Sensei 也正常打开使用,我记得 PVE 下好像这块是也有点问题的:

传感器

因为这是虚拟机,所以除了显卡,其他是没有传感器的,但是比较有意思的腾讯柠檬居然可以显示这个温度信息,不过这可能是假的信息,一直不会动:

睡眠唤醒

虚拟机下讨论睡眠唤醒的意义好像不大,因为宿主机一直得开机,不过让人惊讶的是,这个 ESXi 黑苹果是支持睡眠唤醒的,晃晃鼠标即可唤醒睡眠状态下的黑苹果虚拟机。

睡眠的瞬间硬盘会读写存放数据,此时 CPU 使用 ESXi 下看可以看到还是以低频工作,不过此时显示器和鼠标都是熄灯的,确实和真的睡眠一样,且可以正常被晃鼠标或者敲键盘唤醒:

ToDoList

  • 自定义 CPU 型号,解决系统未知问题
  • 注入白果三码信息,更接近白苹果体验
  • 研究一下 ESXi 使用 OpenCore 的可能性
  • 深度测试一下 ESXi 的日常性能表现
  • 单独做一期视频记录分享一下

文章来源: https://www.sqlsec.com/2023/04/esxi.html
如有侵权请联系:admin#unsafe.sh