OpCore-Simplify 快速上手指南:从硬件报告到 OpenCore EFI
【免费下载链接】OpCore-SimplifyA tool designed to simplify the creation of OpenCore EFI项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify
配黑苹果最磨人的环节是改 config.plist:ACPI 补丁逐条查、kext 依赖逐个对、SMBIOS 手动挑型号。OpCore-Simplify 从这一步接住你——你只需喂给它一份硬件报告(Report.json),它完成比对、打补丁、选 kext、生成配置,最后在Results/目录输出整个 EFI 文件夹。
一句话定位
OpCore-Simplify 是一个 Python 写的命令行工具,输入硬件报告,输出可直接写进 U 盘的 OpenCore EFI。适合 Intel(Nehalem 到 Arrow Lake)和 AMD(Ryzen/Threadripper,走 AMD Vanilla 路线)的 x86 黑苹果机器,支持 macOS High Sierra 10.13 到 Tahoe 26。
明确说它不适合谁:
- 想要"全自动装完系统"的人——USB 端口映射仍要你自己做,工具只在结尾提示步骤
- Apple Silicon 或真苹果硬件,这工具只服务 x86 黑苹果
- 使用 NVIDIA Turing 及更新架构独显的机器(支持范围是 Fermi/Kepler/Maxwell/Pascal/Tesla 这几代)
它替你干掉了哪些活
硬件比对:手工查表 → 数据库自动匹配
原本你要拿 CPU、GPU、声卡、网卡的 ID 逐个去翻硬件数据库,确认哪些原生支持、哪些要打补丁。现在 Scripts/compatibility_checker.py 把报告里每类设备(CPU、GPU、Sound、Network、Storage、Bluetooth)逐项比对 Scripts/datasets/ 下的数据文件,直接在终端输出每个组件的最高兼容 macOS 版本,并按其中最低上限给出建议系统版本。
ACPI 补丁:手编 SSDT → 报告驱动自动应用
原本你要手工写 FakeEC、FixHPET、PLUG、RTCAWAC 这些 SSDT 再编译。现在 Scripts/acpi_guru.py 读取你报告里附带的 ACPI 表,按硬件自动勾选补丁:HEDT 平台修正 CPU 入口防内核崩溃、修改_PRW休眠方法防误唤醒、屏蔽不用的 PCI 设备等。编译用的 iasl 工具直接打包在 Scripts/iasl,不需要额外安装。
kext 选择:逐个查版本依赖 → 按规则表自动加载
原本你要确认每个 kext 支持哪个 Darwin 版本、依赖谁(比如 VirtualSMC 依赖 Lilu)。现在 Scripts/kext_maestro.py 依据 Scripts/datasets/kext_data.py 里的min_darwin_version/max_darwin_version/requires_kexts字段自动勾选,冲突组(如 GPU 类 kext)只保留一个,缺的 kext 构建前自动从 GitHub Releases 下载。
收尾杂项:手动清理 → 一次构建自动完成
OpCore-Simplify.py 的build_opencore_efi固定跑五步:复制 EFI 基底 → 应用 ACPI 补丁 → 拷贝 kext 并快照进 config.plist → 生成 config.plist → 删掉未启用的驱动、资源和工具文件。构建前还会自动更新 OpenCorePkg 和 kext 版本;程序自身每次启动也比对 sha_version.txt,落后就拉新版代码自更新(逻辑在 updater.py)。
跟着做一次
把工具跑起来
▶️目标:在终端看到 6 项主菜单。
操作:
git clone https://gitcode.com/GitHub_Trending/op/OpCore-Simplify解压或进入目录后按系统启动:Windows 双击OpCore-Simplify.bat,macOS 运行OpCore-Simplify.command,Linux 执行python3 OpCore-Simplify.py。bat 脚本会自动找 Python,找不到时询问你是否代为安装。
结果:先出现 "Check for Updates" 版本比对,随后是主菜单——1. Select Hardware Report到6. Build OpenCore EFI。此时 Hardware Report 一栏显示Not selected。
导入并校验硬件报告
▶️目标:拿到一份通过校验的Report.json。
操作:输入1。提示Drag and drop your hardware report here (.JSON)时,把报告文件拖进终端或粘贴路径;Windows 下多一个E. Export hardware report选项,选它可用内置的 Hardware Sniffer 现场导出(会提示先确认 Sniffer 是最新版)。
结果:校验通过显示Hardware report is valid!,接着自动跑兼容性比对、给出Suggested macOS version和 SMBIOS 推荐。校验规则来自 Scripts/report_validator.py:缺Motherboard/BIOS/CPU/GPU等必填节点会直接报Missing required key,格式不符(如 Device ID 不是XXXX-XXXX十六进制)会报 pattern 错误。
选系统版本并构建 EFI
▶️目标:Results/目录里生成完整 EFI。
操作:输入2选版本——输主版本号(如14)即可,想要精确版本用 Darwin 格式(如22.4.6);选到标黄 "Requires OpenCore Legacy Patcher" 的区间时,构建前会弹 OCLP 风险提示,输yes才继续。确认后输入6开始构建。
结果:终端依次走完 5 个进度条(拷贝基底、打补丁、装 kext、生成 config、清理),最后打印OpenCore EFI build complete.,随后弹出 "Before Using EFI" 待办清单并自动打开Results/文件夹。
构建后的 USB 映射
▶️目标:EFI 达到可用状态。
操作:按结尾提示,先用 USBToolBox 生成UTBMap.kext放进EFI/OC/Kexts,删掉工具默认的UTBDefault.kext;再用 ProperTree 打开 config.plist,按 Command/Ctrl+R 跑 OC Snapshot 回写;单控制器端口超过 15 个时手动启用XhciPortLimit内核补丁。
结果:config.plist 的Kernel.Patch与 ACPI 段落与实际文件一致,EFI 可写入 U 盘启动盘。
踩坑与急救
❌现象:启动时Could not verify the latest version from GitHub。原因:本机访问不了 GitHub API,取不到最新 SHA。怎么修:提示框里输yes跳过更新,程序用当前版本继续跑;不是致命错误,不影响后面构建。
⚠️现象:选报告后报Hardware report is not valid!,列出Missing required key 'GPU'之类错误。原因:Report.json 缺节点——常见于在 Windows PE 环境导出的报告(Sniffer 在 PE 下不采集显示器连接和 Resizable BAR 信息),或报告版本过旧。怎么修:按提示Please re-export the hardware report重新导出,尽量在能正常进系统的 Windows 环境里生成。
❌现象:选E导出报告时提示Error dumping ACPI tables(错误码 5),或 3/4 对应采集、生成失败。原因:Sniffer 权限不足或版本过旧,ACPI 表转储失败。怎么修:用管理员权限重试;仍失败就手动运行最新版 Hardware Sniffer 生成Report.json和 ACPI dump,再走拖拽路径导入。
⚠️现象:选完报告后提示选择 ACPI 表目录,而不是直接进入配置。原因:报告没带 ACPI dump,程序找不到 DSDT,补丁无从下手(见ensure_dsdt检查)。怎么修:按select_acpi_tables提示指向含 DSDT.aml 的目录;根治办法是导出报告时带上 ACPI 转储。
❌现象:想装 Tahoe 26,系统选项标着 "Requires OpenCore Legacy Patcher"。原因:新系统的独显/博通 WiFi 加速只能靠 OCLP 根补丁激活,且 Tahoe 26 只认 lzhoang2801 分叉的 OCLP 3.0.0,Dortania 官方发布不适用。怎么修:接受提示继续构建,装完系统后打 OCLP 根补丁;AMD 独显打完后还要从 boot-args 删掉-radvesa/-amd_no_dgpu_accel才有加速。
进阶:改硬件数据库和读懂构建链路
加自家硬件。所有比对依据都是 Scripts/datasets/ 下的纯 Python 数据:cpu_data.py(CPU 代号与限制)、gpu_data.py(显卡与补丁)、codec_layouts.py(声卡 Layout ID)、mac_model_data.py(SMBIOS 机型)。你的声卡报"无音频"而实际是布局 ID 没收录,打开codec_layouts.py按AudioLayout(id, comment)格式加一行,重新选报告即可生效。
读懂构建链路。入口在 OpCore-Simplify.py 的OCPE.main():select_hardware_report(校验)→check_compatibility(比对)→select_acpi_patches(打补丁)→install_kexts_to_efi(装 kext)→genarate(Scripts/config_prodigy.py,把 iGPU 设备属性、内核补丁、boot-args 汇进 config.plist)。想改任何一段行为,先读对应文件再动。
现在打开终端 clone 仓库,跑一次主菜单,输1喂进你的 Report.json——工具能走多远,屏幕会直接告诉你。它把"配"的活压缩成了"选"的活,剩下的 USB 映射和排错,仍然是你的功课。
【免费下载链接】OpCore-SimplifyA tool designed to simplify the creation of OpenCore EFI项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考