旧 Mac 装新系统:OpenCore Legacy Patcher 从 0 到 1 实操笔记
【免费下载链接】OpenCore-Legacy-PatcherExperience macOS just like before项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher
OpenCore Legacy Patcher 是一款免费开源的 Python 工具,能让 2007 到 2017 年的老款 Intel Mac 安装并运行 macOS Big Sur 到 Sequoia。适合手里有一台被苹果"放弃"的旧机器、想继续用上新系统的进阶新手。
一、先别动手:这台机器到底值不值得折腾
很多翻车都出在"机器本就不合适"上。先对号入座,再决定要不要继续。
适合折腾的情况
- 型号在 docs/MODELS.md 列表里:MacBook、MacBook Air、MacBook Pro、Mac mini、iMac、Mac Pro 的 2007–2017 机型,从
MacBook5,1一直到MacBookPro16,4。 - 内存 8GB 起步,装 Sonoma / Sequoia 至少 3GB(2GB 机器装不了新版,官方已说明)。
- 你能接受"干净安装":OCLP 只做全新安装或原地升级,其他补丁器打过系统的机器不能接着用。
不适合折腾的情况
- PowerPC 或 Apple Silicon(M1/M2)机型——不在支持范围,别试。
- 内存只有 2GB 且目标是 Sonoma/Sequoia——直接放弃。
- 追求"零风险、绝不掉数据"的场景——任何改系统的操作都有风险,旧机器最好只用来跑不那么要紧的活。
判断标准就一条:型号在列表里 + 内存够 + 你接受重装。三条都中,往下走。
二、它凭什么能装上去:不改固件,只在启动时打补丁
理解原理,你后面每一步心里才有数。
OCLP 的核心不是"破解固件",而是一套内存补丁思路。它基于 OpenCore 引导器和 Lilu 补丁框架:机器开机时,OpenCore 在系统真正跑起来之前,先往内存里注入一批 kext 和补丁(比如 WhateverGreen 修显卡、CPUFriend 修 CPU 调频、AirportBrcmFixup 修无线)。磁盘上的系统文件保持苹果原样,所有"欺骗"只发生在内存里,关机就消失。这就是官方强调的"Zero firmware patching required"(零固件改动)。
那为什么还要"根补丁"?因为有些老硬件(显卡、Wi-Fi、蓝牙)光靠内存补丁不够,必须动盘上文件。这时 OCLP 会按机型和系统版本,把 SIP 降到刚好够用,再往系统卷里写补丁。细节都能在项目文档 docs/PATCHEXPLAIN.md 里查到,每个 kext 是干啥的都有说明。
记住这个分工:OpenCore 管启动,根补丁管功能。后面流程里这两件事分开做,别混在一起。
三、动手:一次跑通的完整流程
下面这条线是我会照着做的顺序。每步都标了"看到什么算成功"。
准备
- 当前系统先升到它支持的最高版本(官方强烈建议,保证固件最新)。
- 工具本体需要 macOS Yosemite 10.10 以上才能运行;做安装盘时,Ventura 安装器要求 El Capitan 10.11 以上,Sonoma 及更新版本要求 High Sierra 10.13 以上(这是苹果
createinstallmedia的限制)。 - 准备一块 USB 盘。推荐 32GB——新版 Sonoma/Sequoia 的 16GB 盘塞不下安装器和补丁。
- 从源码运行的话,可以这样拉下来:
git clone https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher cd OpenCore-Legacy-Patcher成功标志:OpenCore-Patcher.app能打开,看到主菜单。打不开就在终端跑/Library/Application Support/Dortania/OpenCore-Patcher.app/Contents/MacOS/OpenCore-Patcher试试,能看到报错更好排查。
做安装盘
- 主菜单点Create macOS Installer→Download macOS installer,挑你要的版本下载。
- 下完选Select local installer,挑好 USB 盘——注意整块盘会被格式化。
- 等它写入(flashing)完成。
成功标志:出现"Success"提示,USB 盘里能看到 macOS 安装器。中途弹 "You don't have permission to save",多半是缺权限——去"隐私与安全 → 完全磁盘访问权限"里把 OpenCore-Patcher 勾上再重试。
装 OpenCore
- 点Build and Install OpenCore。它会自动探测你的机型和硬件,生成配置。
- 如果你要给另一台机器做盘:先去 Settings 里把目标机型选对——配置是硬件相关的,选错后面全错。
- 构建完点Install OpenCore,选目标磁盘(GPT/GUID 分区,或带一个 FAT32 分区),再选分区。
成功标志:安装提示完成。此时重启按住Option,能看到带 OpenCore 图标的EFI Boot项,就说明引导装好了。
进系统打根补丁
- 在 OpenCore 选择器里选Install macOS,像普通 macOS 一样装。全新磁盘记得在"磁盘工具"里选"显示所有设备"、格式整块盘,避免缺内部 EFI。
- 装完重启。若卡在初始设置循环,就每次重启按住
Option选 EFI,再选那个灰色硬盘图标。 - 进到桌面后,重新打开 OCLP,点Post-Install Root Patch,让它装显卡/Wi-Fi/蓝牙等盘上补丁。用 OCLP 做的盘且机型选对了的话,这步会自动触发。
成功标志:根补丁页面显示已安装补丁及版本/日期;重启后显卡加速、Wi-Fi 都正常。特别注意:每次 macOS 更新都会清掉根补丁,得重打一次。
四、装完才见真章:把老机器调教顺手
装好只是及格线,下面是我按优先级排的一份可勾清单,照做即可,不用全上。
- 先打全根补丁:系统卡、Dock 没壁纸没半透明,基本就是根补丁没装全。见 docs/POST-INSTALL.md。
- 关掉自动更新:新版 macOS 在"下载阶段"就开始改系统卷,容易把补丁打坏、留下"半新半旧"的烂摊子。Ventura 以上:系统设置 → 通用 → 软件更新 → 自动更新 → 关掉"有新更新时下载"。
- SSD 开 TRIM:换了固态的话跑一次
sudo trimforce enable。 - 内存对齐:装频率匹配的内存条,老机器尤其吃这一口。
- 散热:笔记本电池缺失或老化会被强制降频(活动监视器里
kernel_task吃满 CPU 就是信号),该换电池换电池、该重涂硅脂重涂。 - 不想每次选引导:Settings 里取消 "Show OpenCore Bootpicker" 后重建,之后按住
ESC再进选择器即可。 - 老显卡:2012 年以前多是 non-Metal(只能走 OpenGL),部分新应用、地图类功能会受限;2014–2015 的 GCN/Kepler 显卡在 Sequoia 上还依赖 KDK / MetallibSupportPkg 才能打全补丁,没网时建议走有线把补丁一次装完。
五、别翻车:高频事故与急救
不是问答,直接按"现象 → 急救 → 验证"来。
事故 1:装 OpenCore 时提示"找不到合适磁盘"
- 急救:新盘从没在 macOS 里格式化过最容易这样。去"磁盘工具"建一个约 100MB 的 FAT32 分区,或安装时选"显示所有设备"格式整盘。
- 验证:重跑 Build and Install OpenCore,能选到目标盘即通过。
事故 2:打根补丁报 "System version mismatch"
- 现象:提示版本对不上(比如预期 13.7.5 却读到 15.4)——说明系统已被预下载的新版"半污染"。
- 急救:把系统更新/装到那个已暂存的新版本,或干脆重装;恢复后务必关自动更新。
- 验证:根补丁页面不再报错,版本信息与当前系统一致。
事故 3:打根补丁报 "Unable to resolve dependencies, error code 71"
- 现象:通常是
/Library/Extensions里有来路不明的 kext 在捣乱。 - 急救:手动清空该目录(保留 HighPoint/SoftRAID 相关),再不行清
/Library/Developer/KDKs,重跑补丁。 - 验证:补丁跑通,相关硬件(显卡/网)被识别。
事故 4:显卡黑屏 / 无加速
- 现象:老显卡(Kepler、Ivy/Haswell、GCN 等)在新系统里没硬件加速。
- 急救:确认根补丁已装全;GCN 显卡装 Ventura 以上要 KDK,Kepler 和部分 Intel 核显要 MetallibSupportPkg(版本要和当前系统完全一致)。
- 验证:到"关于本机 → 系统报告"看"加速渲染"是否为"硬件"。
事故 5:Wi-Fi / 蓝牙没了
- 现象:BCM94328、BCM94322、Atheros 等老网卡在新系统里不认。
- 急救:先确认根补丁里装了无线驱动;没网就先插有线装补丁,再打。驱动包在 payloads/Kexts/Wifi/ 里,可对照 docs/PATCHEXPLAIN.md 查对应机型。
- 验证:菜单栏能看到 Wi-Fi 图标并能连网,蓝牙能发现设备。
六、想再深挖:进阶与文档地图
把"配置、生成、源码、官方文档"四块一次讲清,省得你到处找。
SIP 分级,别乱动OCLP 会按系统版本和机型自动定 SIP,多数情况不用碰。它有三档:启用 / 降低(默认,根补丁需要)/ 禁用。
- Ventura 及更新:不支持的机型都必须"降低"。
- Monterey:2013 年及以后的多数机型能开满 SIP。
- Big Sur:2012 年及以后的 Metal 机型可开满。
- 铁律:已经打过根补丁的机器,别去开满 SIP,容易把当前安装弄坏。
自定义 SMBIOS想改机型识别(minimal / moderate / advanced 级别),源码在 opencore_legacy_patcher/support/generate_smbios.py,机型数据在 opencore_legacy_patcher/datasets/smbios_data.py,生成逻辑在 opencore_legacy_patcher/efi_builder/smbios.py。改完记得重建 OpenCore 才生效。
源码目录结构
OpenCore-Legacy-Patcher/ ├── payloads/ # 核心资源:config.plist / Kexts / ACPI / 驱动 ├── opencore_legacy_patcher/ # 主程序源码 │ ├── sys_patch/ # 系统补丁(根补丁的核心) │ ├── efi_builder/ # EFI 构建 │ ├── datasets/ # 机型、SMBIOS 等数据 │ └── support/ # 工具与辅助逻辑 └── docs/ # 完整文档主配置在 payloads/Config/config.plist,补丁集在 opencore_legacy_patcher/sys_patch/。
官方文档导航
- 入门:docs/START.md
- 构建与安装:docs/BUILD.md、docs/INSTALLER.md
- 排错:docs/TROUBLESHOOT-APP.md、docs/TROUBLESHOOT-HARDWARE.md
- 高频问题:docs/FAQ.md
- 机型兼容:docs/MODELS.md
七、写在最后
这套工具能跑,靠的是"内存补丁 + 按需根补丁"的克制设计,不碰固件,风险比想象中可控,但可控不等于没有。
真正要记住的就一句:动手前先把重要数据备份好(Time Machine 或其他方案),EFI 分区也顺手拷一份。老机器折腾的价值,在于它还能干活,而不是赌数据。备份到位,剩下的就是照着上面的顺序一步步走。
【免费下载链接】OpenCore-Legacy-PatcherExperience macOS just like before项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考