OpCore-Simplify 完整指南:6 个菜单选项,自动生成可启动的 OpenCore EFI
【免费下载链接】OpCore-SimplifyA tool designed to simplify the creation of OpenCore EFI项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify
OpCore-Simplify 是一个命令行工具:输入一份硬件报告(Report.json 加 ACPI 转储),输出一个配好 ACPI 补丁、Kext 和 SMBIOS 的 OpenCore EFI 目录。它把查硬件、选补丁、写 config.plist 这套手工流程内置成脚本逻辑,每一步都保留手动调整的入口。本文基于仓库源码与 README,讲清它的自动化边界、硬件支持范围,以及构建完成之后必须做的事。
核心关键词:OpCore-Simplify、OpenCore EFI 自动生成、黑苹果配置工具、硬件报告转 EFI
长尾关键词:Report.json 硬件报告、ACPI 补丁自动应用、Kext 依赖自动管理、macOS 版本兼容检测、黑苹果 USB 映射
工具定位:一张硬件报告,一份可启动的 EFI
一份 OpenCore EFI 的组装至少涉及四类工作:ACPI 表补丁、Kext 挑选与依赖、SMBIOS 型号与序列号、config.plist 各节点的填值。OpCore-Simplify 的主循环就是一个 6 项文本菜单(见 OpCore-Simplify.py):
- Select Hardware Report —— 导入或导出硬件报告
- Select macOS Version —— 选择目标 macOS 版本
- Customize ACPI Patch
- Customize Kexts
- Customize SMBIOS Model
- Build OpenCore EFI
它不是图形界面,所有交互都是终端里的数字选项;但默认值已经算好,菜单 3 到 5 只是给你反悔的机会。选择第 1 项时,工具会连锁触发后续全部默认决策:兼容性检查、macOS 版本推荐、Kext 勾选、SMBIOS 选型、ACPI 补丁勾选一次跑完,然后你才在菜单里逐项复核。
Windows 下还有一个入口E. Export hardware report:直接调用 Hardware Sniffer 在本地导出报告与 ACPI 转储,省去手动准备文件。
⚡ 快速上手:三种系统的启动方式
先把代码拿到本地:
git clone https://gitcode.com/GitHub_Trending/op/OpCore-Simplify然后按系统选入口:
- Windows:双击 OpCore-Simplify.bat。脚本会自行探测系统里的 Python(
where python、pylauncher 都会查),找不到时提示一键下载安装最新版 Python 3,静默安装并自动配 PATH,不需要自己折腾环境。 - macOS:双击 OpCore-Simplify.command,逻辑相同,缺 Python 时从官方安装包下载并以 pkg 方式安装。
- Linux:用现有的 Python 解释器运行
python3 OpCore-Simplify.py。
启动后还有一个细节:updater.py 会先比对本地版本与上游最新 commit 的 SHA,有新版就下载、替换并以新版本重启,不用手动跟踪更新。
自动化做了什么:从 Report.json 到 config.plist
报告进来后,数据会经过这样一条流水线:
报告校验。report_validator.py 按 schema 逐项检查字段:Motherboard、BIOS、CPU、GPU 为必填,Device ID、PCI 路径、ACPI 路径都有正则约束。校验不过会列出错误并建议重新导出报告,防止残缺数据进入后续环节。
兼容性映射。compatibility_checker.py 把 CPU、GPU、网卡等组件逐一映射到"可安装的 macOS 区间"。CPU 一侧看 SIMD 指令集:没有 SSE4 的 CPU 直接判定不支持并退出;有 SSE4.1 但缺 SSE4.2 的,上限压到 macOS 12(Darwin 21)。GPU 则按设备 ID 前缀细分,部分老核显只支持到较早版本。
ACPI 补丁。acpi_guru.py(3000 多行)整合两套逻辑:SSDTTime 的常见补丁(FakeEC、FixHPET、PLUG、RTCAWAC 等),以及项目自定义补丁,包括把第一个 CPU 条目指到活动核上并禁用 UNC0 设备(防 HEDT 平台内核恐慌)、禁用不用的 PCI 设备(独显 Optimus 场景、无线网卡、NVMe 控制器)、修正 _PRW 睡眠状态值防止立即唤醒、按需生成 ALS0 / BUS0 / MCHC / PMCR / PNLF / RMNE / IMEI / USBX / XOSI 等设备,外加一个 Surface 专用补丁。
Kext 依赖。kext_data.py 里每个 Kext 都声明了最低/最高 Darwin 版本、依赖列表(requires_kexts)和冲突组,例如 VirtualSMC 依赖 Lilu,各 SMC 传感器插件依赖 Lilu + VirtualSMC。kext_maestro.py 根据硬件报告勾选,gathering_files.py 从 Dortania build-repo 与 GitHub Releases 拉取文件,integrity_checker.py 用 sha256 校验完整性,下载记录缓存在 history.json,重复构建时不必重新下载。针对 P 核 + E 核混合架构的 Intel CPU,会自动加载 CpuTopologyRebuild 优化拓扑。
SMBIOS 与序列号。smbios.py 从 mac_model_data.py 的机型表里按 CPU 代际匹配 Mac 型号,调用 macserial 生成对应格式的序列号,再配随机 MAC 地址和 UUID 写入 config.plist。
配置层面还有一些默认动作:默认禁用 SIP、为部分不被识别的 AMD 显卡伪装 GPU ID、按 Resizable BAR 信息配置 ResizeAppleGpuBars、为带独显的机型提供 iGPU 无头/驱动显示两种模式,以及通过 wifi_profile_extractor.py 导出 WiFi 配置让 itlwm 在启动时自动连接。
点 6 之后,构建过程固定 5 步:复制 EFI 基础目录 → 应用 ACPI 补丁 → 拷贝 Kext 并生成快照 → 写入 config.plist → 清理未使用的驱动、资源与工具。产物落在仓库目录下的Results/,是一份可以直接写进 U 盘的完整 EFI。
📋 硬件支持范围:CPU、显卡与 macOS 版本对照
README 给出的支持矩阵(与 Scripts/datasets/ 里的数据文件一一对应):
| 组件 | 覆盖范围 |
|---|---|
| Intel CPU | 第 1 代(Nehalem / Westmere)到 Arrow Lake(第 15 代 / Core Ultra 2) |
| AMD CPU | Ryzen 与 Threadripper,走 AMD Vanilla 方案 |
| Intel 核显 | Iron Lake(第 1 代)到 Ice Lake(第 10 代) |
| AMD 核显 | Vega Raven ASIC 家族(Ryzen 1xxx → 5xxx、7x30 系列) |
| AMD 独显 | Navi 21 / 22 / 23 及更早系列 |
| NVIDIA | Kepler、Pascal、Maxwell、Fermi、Tesla |
| macOS | High Sierra(10.13)到 Tahoe(26) |
os_data.py 维护着 10.13 到 26 共 9 个版本,选版本时可以直接输 Darwin 号(如 22.4.6)或大版本号(如 19),需要 OpenCore Legacy Patcher 的版本会在列表里明确标注,而不是构建完才发现。
几个源码里的具体约束值得记住:
- 没有 SSE4 指令集的 CPU 无法进入流程,直接退出。
- 只有 SSE4.1 没有 SSE4.2 的 CPU,最高可装 macOS 12。
- 需要 OCLP 的版本在版本列表里预先标出,方便先决策再构建。
构建完成不是终点:BIOS 设置与 USB 映射
点完 Build 后,工具会打印一份"使用 EFI 前必须做的事"清单(before_using_efi),内容按你的报告动态生成:
BIOS 项:报告里是 Legacy 启动的,提示开 UEFI 关 CSM;Secure Boot 未关闭的,提示关闭;使用较新 Intel 芯片组的台式机,若 Resizable BAR 处于开启状态,会额外提示开启 Above 4G Decoding 并禁用 Resizable BAR / Smart Access Memory。
USB 映射:用 USBToolBox 生成 UTBMap.kext 放进EFI/OC/Kexts,删掉默认的 UTBDefault.kext,再用 ProperTree 打开 config.plist 执行 OC Snapshot(Ctrl/Cmd + R);单个控制器端口超过 15 个时启用 XhciPortLimit 补丁。
制作安装盘:Windows 侧推荐 UnPlugged 制作 macOS 安装 U 盘,macOS 侧按 Dortania 安装指南走。
OCLP 后续:如果你选了需要 OpenCore Legacy Patcher 的版本,装完系统后要执行 root patch 才能点亮被砍掉的显卡加速和 Broadcom 无线;AMD 显卡用户还要在 patch 后移除启动参数-radvesa/-amd_no_dgpu_accel。
⚠️ 适用边界与避坑
- 不保证一次装成。README 明确写了这一点:工具压缩的是前期配置时间,安装过程的排错仍需自己处理。
- OCLP 有代价。它通过禁用 SIP、AMFI 恢复老硬件支持,可能的后果包括系统更新需要完整安装包、应用崩溃、系统不稳定。构建涉及 OCLP 的版本时,工具会弹一次风险提示并要求输入 yes 才继续。
- 硬件报告有盲区。Windows 下直接导出报告时,Hardware Sniffer 在 Windows PE 环境里不采集 Resizable BAR 状态和显示器连接信息,且务必用最新版 Sniffer 生成报告。
- 手动改配置不是推荐路径。README 把"自定义 ACPI 补丁、Kext、SMBIOS"标注为 not recommended,只保留给排错场景。
- 文本菜单即交互方式。它的"自动化"体现在默认值全算好,而不是界面华丽;期待图形向导的人需要先建立这个预期。
OpenCore 配置的本质是"硬件事实 → 配置决策"的映射。OpCore-Simplify 做的事,是把这张映射表连同校验、下载、依赖解析一起内置成代码,菜单只是复核入口。
一句话选型建议:硬件在上面的支持矩阵内、能接受终端操作、想要一份"先能启动再说"的 EFI 作为起点的用户,适合用它;硬件超出矩阵(如无 SSE4 的 CPU),或希望全程图形化操作的用户,建议直接走 Dortania 手动指南。
【免费下载链接】OpCore-SimplifyA tool designed to simplify the creation of OpenCore EFI项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考