如何在VMware ESXi上解锁macOSESXi Unlocker部署实战指南【免费下载链接】esxi-unlockerVMware ESXi macOS项目地址: https://gitcode.com/gh_mirrors/es/esxi-unlockerESXi Unlockeresxi-unlocker是一个社区解锁工具它在 ESXi 每次启动时打补丁修改系统自带的/bin/vmx和libvmkctl.so补上 Apple SMCSystem Management Controller苹果硬件的系统管理控制器模拟让 macOS 虚拟机能够启动、并能被 vSphere 正常接管。按本文操作你可以从一台裸 ESXi 走到smcPresent true的验证结果。跑通前的检查清单动手前逐项确认每条都说明原因ESXi 版本为 6.5 / 6.7 / 7.0补丁针对这三个版本的/bin/vmx与libvmkctl.so二进制布局3.0.2 修复了 7.0 U17.0.1readme 未提及 8.0如果你的主机是 8.0这条路走不通。SSH 服务已开启安装、验证、排障全部在 SSH 终端里完成。在 Web 管理页「管理 → 服务 → TSM」中启动 TSM-SSH。root 密码或 SSH 密钥上传和安装都要求 root 权限普通账户写不了/vmfs。有空闲空间的数据存储安装文件放在这里例如/vmfs/volumes/datastore1补丁的临时工作目录在宿主机的/tmp。一台能访问 ESXi 网段的机器用于 scp 上传文件。最短路径上手第一步获取项目文件git clone https://gitcode.com/gh_mirrors/es/esxi-unlocker cd esxi-unlocker注意一个坑源码仓库里没有预编译的unlocker.tgz而esxi-install.sh恰恰要安装它。两条路直接拿官方发布包esxi-unlocker-3.0.2.tgz内含脚本和unlocker.tgz可跳过下面的打包命令或者用仓库源码自己打包产物只有etc/rc.local.d/unlocker.py一个文件与 readme 构建输出中的Creating unlocker.tgz...段落一致tar czvf unlocker.tgz etc/第二步把文件传到 ESXi 主机的数据存储里scp -r esxi-unlocker rootESXi-IP:/vmfs/volumes/datastore1/用发布包的话则是上传esxi-unlocker-3.0.2.tgz然后在 ESXi 上tar xzvf解压效果相同。第三步注册解锁模块cd /vmfs/volumes/datastore1/esxi-unlocker ./esxi-install.sh脚本核心只有一件事BootModuleConfig.sh --add把unlocker.tgz登记为启动模块。它不是一次性补丁——unlocker.py会在每次 ESXi 启动时执行停掉 hostd 服务把/bin/vmx和libvmkctl.so复制到/tmp/unlocker修补 vmx 里的 vSMC 密钥表改 OSK0/OSK1 两个键、把 libvmkctl 里的applesmc字符串改写成vmkernel再打包成custom.vgz挂载进 visor 文件系统。所以看到Success - please now restart the server!时补丁还没生效。第四步重启reboot⚠️ 重启是硬性要求不重启补丁不会落地。跑通之后SSH 回来运行仓库自带的测试脚本做一次性验证./esxi-smctest.sh期望输出custom.vgz的字节数因 ESXi 版本而异属正常现象/bin/vmx smcPresent true custom.vgz false 32486592 B三行各对应一项检查第一行找到含 Apple SMC 签名的 vmx 文件说明/bin/vmx已打上补丁第二行是硬件查询报告 SMC 存在说明libvmkctl.so补丁生效第三行确认补丁产物custom.vgz已挂载到 visor 文件系统。三项都对解锁成功。两个可以继续玩的方向临时禁用在 ESXi 启动选项里加nounlocker参数。unlocker.py每次启动先读/bin/bootOption -a发现该参数就跳过补丁适合临时把主机借出去或排障无需卸载。彻底移除同目录下运行./esxi-uninstall.sh再重启即做对应的--remove。⚠️ 升级 Unlocker 版本时务必先卸载旧版——readme 明确警告混用可能导致 VMware 不可用。解锁只解决了 SMC 这一层macOS 能否跑起来还取决于镜像你需要一份可安装的 macOS 镜像和匹配的 EFI 引导常见路线是 OpenCore并确认虚拟机版本、BIOS/EFI 启动模式与镜像一致。翻车自救smctest 没有smcPresent true这一行或显示 false→ 先确认安装后真的重启过补丁靠启动时执行落地再看esxcli system visorfs tardisk list里有没有custom.vgz没有说明那次启动中unlocker.py没跑完去启动日志里找原因。esxi-install.sh报找不到unlocker.tgz→ 你不在unlocker.tgz所在目录或文件没传全。确认脚本与unlocker.tgz在同一目录用仓库源码的先执行第一步的tar czvf打包。ESXi 小版本升级后 macOS 又起不来了→ 补丁靠 vmx / libvmkctl 里的字节特征定位升级后二进制布局变了旧版 Unlocker 找不到目标。换成对应的新版 Unlocker且先卸载旧版再装新版。vSphere 控制台连不上 macOS 虚拟机、无法操控→ 对照 readme 的职责划分接管能力来自libvmkctl.so补丁。跑一遍 smctest第二行不是 true 就按卸载后重装处理。ESXi Unlocker 的全部价值浓缩在一句话里每次启动给 vmx 和 libvmkctl 打补丁macOS 支持即插即用。想自己构建发布包看仓库readme.md第 5 章 Building 的说明即可。【免费下载链接】esxi-unlockerVMware ESXi macOS项目地址: https://gitcode.com/gh_mirrors/es/esxi-unlocker创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考