OpenCore Legacy Patcher 安装教程:让停更的 Intel 旧 Mac 用上新版 macOS
【免费下载链接】OpenCore-Legacy-PatcherExperience macOS just like before项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher
OpenCore Legacy Patcher 是一款免费开源工具,帮停更的 Intel 旧 Mac 安装 macOS Big Sur 及更新版本,恢复图形加速、Wi-Fi 与音频。本文覆盖从环境核对到打根补丁的完整安装流程与常见故障处理。
动手前:核对四项硬条件
| 核对项 | 判据 | 不满足怎么办 |
|---|---|---|
| 机型架构 | sysctl -n hw.model返回 Intel 机型代号(如 iMac12,2) | PowerPC 或 Apple Silicon 机型不支持,直接停手 |
| 机型支持度 | 机型在 docs/MODELS.md 支持清单内 | 暂缓构建,等社区补齐对应补丁 |
| 运行环境 | 构建端与目标机均为 macOS | 依赖只能在 macOS 上编译,换一台 Mac 操作 |
| Python 版本 | python3 -V输出 3.6 及以上,推荐 3.11 | 从 Python 官网安装 3.11 |
| 数据备份 | Time Machine 已完成一次全量备份 | 备份完成前不执行任何写入操作 |
全流程唯一不可逆的动作是向 EFI 分区写入引导文件,备份完成前不要执行任何写入。
主流程:三步装上新系统
第一步:拉取源码,完成硬件检测
目标:搭好可运行的本地环境,工具完成硬件检测并显示正确的机型与系统版本。
git clone https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher # 获取源码 cd OpenCore-Legacy-Patcher pip3 install -r requirements.txt # 安装 Python 依赖 python3 OpenCore-Patcher-GUI.command # 启动图形界面,同时完成硬件检测验证:主菜单打开后,Model:旁显示的机型编号与sysctl -n hw.model的输出一致,且正确识别当前系统版本。✅
⚠️ requirements.txt 中的依赖均为 macOS 专属,在 Linux 上安装或运行都会报错。 💡 发布端使用 Python 3.11 构建,装依赖报错先核对版本,更多细节见 SOURCE.md。
第二步:构建 OpenCore 并写入 EFI 分区
目标:生成与本机绑定的引导配置并写入目标磁盘,重启后即可从 EFI Boot 条目进入安装器。
python3 OpenCore-Patcher-GUI.command --build构建完成后在界面选择目标磁盘与分区:GPT 格式的内部磁盘、带 FAT32 分区的安装 U 盘均可。写入完成后重启,按住 Option,选择 EFI Boot 条目,再选中安装项开始安装 macOS。
验证:重启后的 boot picker 中出现 OpenCore 引导条目,选中后能进入安装器的磁盘选择界面。✅
⚠️ 配置与本机绑定,给别的机型构建时必须追加--model iMac12,2指定目标机型。 💡 安装反复失败时加--debug_oc --verbose获取详细日志,完整流程见 docs/BUILD.md。
第三步:给新系统打根补丁
目标:新系统装好后,根卷还缺图形与 Wi-Fi 组件,根补丁会替换所需框架、重建内核缓存,把加速能力补回来。
python3 OpenCore-Patcher-GUI.command --patch_sys_vol验证:重启后执行system_profiler SPDisplaysDataType,能输出 GPU 型号与显存大小,图形加速、音频、Wi-Fi 全部恢复正常。✅
⚠️ OTA 大版本更新会重建根卷、补丁随之失效,重跑同一条命令即可恢复,更新流程见 docs/UPDATE.md。 💡 补丁逻辑在 opencore_legacy_patcher/sys_patch/,Kext 随 payloads/ 一并打包进系统。
原理拆解:三处改动各自落在哪一层
EFI 配置层。OpenCore 在 UEFI 阶段接管启动,通过 config.plist 注入目标机型的 SMBIOS,安装器只看到这个"新身份",机型拦截因此失效。它只写 EFI 分区、不碰固件,配置随时可以重建。
内存层。内核运行时 Lilu 最先加载,拦截并改向新系统中被移除或变更的符号。全部改动只存在于内存,重启即消失;WhateverGreen、AppleALC 等 Kext 随 payloads 打包进系统,不依赖 Apple 的支持列表。
根卷文件层。根补丁挂载根卷,替换需要修补的框架并重建内核缓存,非 Metal 机型额外写入图形回退层。改动全是文件级替换,命令重跑即可覆盖。
三层互不影响:配置落在 EFI 分区、内存重启即清空、文件全部可重跑覆盖,所以大版本更新后只需重跑一条命令就能恢复。
常见故障排查
- 重启卡在 "This version of Mac OS X is not supported"→ boot picker 引导的是安装器而不是 OpenCore。按住 Option 重启,先选 EFI Boot 条目,成功引导一次后硬件会自动记住。详见 docs/TROUBLESHOOT-MISC.md。
- 拔掉 USB 就无法启动,
nvram -p | grep -i opencore无输出→ OpenCore 没写进内置盘的 EFI 分区。重跑--build,选中内置磁盘重新写入一次。详见 docs/POST-INSTALL.md。 - 打完根补丁后卡在启动画面→ 补丁后的内核缓存损坏。在恢复环境执行
mount -uw "/Volumes/Macintosh HD"(替换为你的磁盘名),再回滚 APFS 快照。详见 docs/TROUBLESHOOT-MISC.md。 - Wi-Fi 图标灰着、搜不到网络→
kextstat | grep -i airport中没有 AirPortBrcmFixup。重新构建让工具重测无线芯片并重新生成补丁配置;2007~2017 年的芯片需要 legacy 补丁集。详见 docs/TROUBLESHOOT-HARDWARE.md。
以上问题都发生在配置层、内存层或文件层,均可重跑恢复,固件层面没有任何改动。
改过的东西都能再改:EFI 配置可重建、内存改动重启即清空、根补丁一条命令就能重打。备份做完,就可以从第一条命令开始。
【免费下载链接】OpenCore-Legacy-PatcherExperience macOS just like before项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考