15分钟生成完整 OpenCore EFI

发布时间:2026/11/2 1:46:01
15分钟生成完整 OpenCore EFI

15分钟生成完整 OpenCore EFI

【免费下载链接】OpCore-SimplifyA tool designed to simplify the creation of OpenCore EFI项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify

需要给台式机装第二系统写代码,或者把旧笔记本拉回苹果生态,最费时间的往往是 EFI 配置。OpCore-Simplify 是一款开源的 OpenCore EFI 自动生成工具:导入一份硬件报告,它自动完成兼容性检查、ACPI 补丁选择、Kext 版本匹配,最后用 5 步构建流程产出可直接安装的 EFI,全流程通常 15-30 分钟。

省下的不只是时间

  • 手动流程:CPU、显卡、网卡、声卡逐个查设备 ID 对照兼容性列表,一轮下来可能半天;工具跑一遍兼容性检查,直接打印每个设备支持的 macOS 版本区间
  • 手动流程:手写 SSDT/DSDT 补丁再逐条调试;工具按硬件报告自动选定补丁集合(FakeEC、PLUG、FixHPET、APIC 等)
  • 手动流程:逐个下载 Kext 并猜版本兼容性;工具从 Dortania Builds 和 GitHub Releases 拉取,带 sha256 校验,版本自动匹配目标 macOS
  • 手动流程:数百行 config.plist 手工调参;工具一次构建生成完整配置,并自动清掉未使用的驱动、资源和工具

从零到跑通 OpenCore EFI

git clone https://gitcode.com/GitHub_Trending/op/OpCore-Simplify cd OpCore-Simplify

第一条命令克隆仓库,第二条进入工作目录。然后按平台启动:Windows 双击 OpCore-Simplify.bat,macOS 运行 OpCore-Simplify.command,Linux 用已有的 Python 解释器运行python3 OpCore-Simplify.py。两个封装脚本会自动探测本地 Python,缺失时可直接安装最新 Python 3,一般不需要手工配环境;仓库里也没有 requirements.txt 一类的依赖清单。

进入主菜单后,首次流程大致是:

  1. 选「1. Select Hardware Report」。Windows 下输入E,工具调用内置 Hardware Sniffer 导出 Report.json 和 ACPI 表转储;macOS/Linux 下拖入 Hardware Sniffer 生成的 Report.json 即可。加载后自动跑兼容性报告,绿色为全量支持、黄色为有限支持、红色为不支持。
  2. 「2. Select macOS Version」:工具会按你的硬件预选版本,输入 Darwin 版本号可改。
  3. 3-5 项分别微调 ACPI 补丁、Kext 和 SMBIOS 型号,首次可以全部跳过。
  4. 「6. Build OpenCore EFI」:首次会下载 OpenCorePkg 和全部选中的 Kext,耗时几分钟,然后自动构建,完整 EFI 输出到Results/目录。构建结束时代码会打印你需要改的 BIOS 项(启用 UEFI、关闭 Secure Boot、Above 4G Decoding 等)和 USB 映射步骤。

背后在做什么

硬件识别:兼容性报告先行

  • Scripts/report_validator.py 对报告做逐字段校验(主板、CPU、GPU、BIOS、设备 ID 格式等),不合格就列出具体错误项,避免带病配置
  • Scripts/compatibility_checker.py 基于 CPU 指令集(SSE4)、GPU、网卡、声卡逐项对照 Scripts/datasets/ 下的内置数据(cpu_data、gpu_data、pci_data、codec_layouts 等),算出每个设备的 macOS 版本区间,取交集作为建议版本

补丁与扩展管理:按设备 ID 自动匹配

  • Scripts/acpi_guru.py(3300 余行)内嵌 SSDTTime 式补丁引擎:笔记本加 iGPU 时补 ALS/PNLF,HEDT 平台加 APIC,被禁用的 PCI 设备加 Disable Devices,DSDT 处理由 Scripts/dsdt.py 完成
  • Scripts/kext_maestro.py 依据 Scripts/datasets/kext_data.py 的 Kext 库做选择,每个 Kext 都带最低/最高 Darwin 版本、依赖关系与冲突分组;选择时会解析 Kext 的 Info.plist(IOPCIMatch、idVendor/idProduct 等)与报告中的设备 ID 做匹配
  • Scripts/gathering_files.py 负责下载:先查 Dortania Builds 最新版,再回退到 GitHub Releases,记录 sha256 与版本信息到 history.json,下次只更新有变化的资源

配置产出:五步构建流水线

  • 构建逻辑在 OpCore-Simplify.py 的build_opencore_efi:拷贝 EFI 基座 → 应用 ACPI 补丁 → 拷贝 Kext 并快照 → 生成 config.plist → 清理未使用的驱动/资源/工具,五步带进度条
  • Scripts/config_prodigy.py 按芯片组与 GPU 设备 ID 写入 framebuffer 参数、platform-id、CpuTopologyRebuild 等,SMBIOS 不受官方支持时自动加 Board ID 跳过补丁
  • Scripts/smbios.py 选择兼顾电源管理与性能的机型,并调用随附的 macserial 工具生成序列号

进阶场景

  • 自定义 ACPI 补丁(主菜单 3):在默认集之外增删 SSDT 补丁,适合排查特定睡眠/电源问题的用户
  • Kext 版本锁定与强制加载(主菜单 4):列表标注每个 Kext 的适用 macOS 区间,可手动勾选并在不受支持的 macOS 版本上强制加载,适合测试驱动版本的用户
  • SMBIOS 机型切换(主菜单 5):换选 Mac 机型并重新生成序列号/UUID,适合在电源管理与性能表现之间做权衡的用户

卡住了看这里

Q: 报告校验不通过怎么办?A: 重新导出报告再提交。 补充:工具会列出具体错误字段;Hardware Sniffer 需保持最新版本,Windows PE 环境不采集 Resizable BAR 与显示器连接信息。

Q: 首次构建为什么很慢?A: 首次会下载 OpenCorePkg 和所有选中的 Kext,正常需要几分钟;之后只更新有变化的资源。 补充:版本与 sha256 都记录在下载历史里,构建失败可以对照日志排查下载环节。

Q: 不支持的显卡或博通 Wi-Fi 还能用吗?A: 可以,但必须走 OpenCore Legacy Patcher。 补充:构建前工具会弹出警告,说明 OCLP 会禁用 SIP/AMFI;macOS Tahoe 26 需 3.0.0 及以上版本。

Q: EFI 构建完接下来做什么?A: 按提示改 BIOS 项,再做 USB 映射。 补充:工具结束时列出了完整步骤:用 USBToolBox 映射后把 UTBMap.kext 放入EFI/OC/Kexts、移除 UTBDefault.kext,端口超过 15 个时启用 XhciPortLimit 补丁。

Q: 工具本身怎么保持更新?A: 启动时 updater.py 自动比对最新提交并更新后重启。 补充:更新以提交 SHA 比对为准,拉取的是仓库 main 分支最新代码。

资源

准备动手时,克隆仓库后按平台运行对应脚本即可。遇到卡点先看文档,或在仓库 Issue 中反馈:

  • 项目文档:README.md
  • 许可证:LICENSE
  • 模块源码:Scripts/
  • 构建入口:OpCore-Simplify.py

【免费下载链接】OpCore-SimplifyA tool designed to simplify the creation of OpenCore EFI项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考