Sukka 写前端、网络和基础设施时,习惯先把边界和代价摊开。把「使用 OcQuirks 代替 AptioMemoryFix 和 OsxAptioFixDrv 修复 Clover 内存分配 | Sukka's Blog」整理成可落地的中文笔记:问题在哪、默认做法会踩什么坑、该怎么选。原站导航和广告已去掉。
何时需要为黑苹果修复内存分配?
在启动 macOS 或 USB 安装盘中的 macOS 安装程序时,如果 -v 中出现以下提示错误,或者卡在一行 + ,就说明需要修复内存分配。
ERROR!!! Load prelinked kernel with status 0x8000000000000009 一般的,带上内存分配修复驱动不会少块肉,所以还是建议都带上,能省不少事。
过去的内存分配修复驱动
需要注意的是,acidanthera 团队由于开始着手 OpenCore 的开发,因此他们宣布中止 AptioFixPkg 的开发、不再对其提供任何技术支持。 AptioFixPkg 中的三个驱动也被分拆成为 OpenCore 的一部分。这对于尚未切换到 OpenCore、还在使用传统但是稳定成熟的 Clover 的黑苹果用户来说并不是什么好消息。也正是因为 acidanthera 团队的这一举动,催生了本文的主角 —— OcQuirks —— 的诞生。
既然 acidanthera 团队转而去开发 OpenCore、将 AptioMemoryFix 变成了 OpenCore 中的 Quirks 和 FwRuntimeServices,这 FwRuntimeServices 又这么厉害,那为什么不把 OpenCore 中内置的内存分配驱动 FwRuntimeServices 独立出来、进行移植并用于 Clover 呢?
你说的这个 OcQuirks,他厉害吗?
这就是 OcQuirks 诞生的缘由。OcQuirks 的开发者 ReddestDream 表示 OcQuirks 是从 OpenCore 的源码中独立出来的内存分配驱动、延续了 OpenCore 的 Quirks 模型,目的就是为了 替代 AptioMemoryFix 和 OsxAptioFix 系列驱动。
需要注意的是,OpenCore 都尚且不成熟、哪怕小版本更新都会带来这么多 Breaking Changes,那么从 OpenCore 中衍生出来的 OcQuirks 也不会很稳定。
那我应该用 OcQuirks 吗?
虽然我从 OcQuirks 第一个版本开始就开始使用、到目前为止也没有发现任何问题。但是如果你极致追求稳定性、甚至可以退回去用 OsxAptioFix3Drv —— 毕竟这个归 Clover 团队管、随 Clover 安装包一起发布,不大可能出什么幺蛾子。
EFI └── CLOVER └── drivers └──UEFI ├──FwRuntimeServices.efi ├──OcQuirks.efi └──OcQuirks.plist 现在可以重启了,看看会不会翻车(划掉)。 OcQuirks.plist 中包含了 OpenCore 的默认配置。一般的 OpenCore 的内存分配相关的默认配置已经可以启动绝大部分的机器了。
如何使用 OcQuirks?
如果你有特定的需求,可以参考 OpenCore 的文档配置 OcQuirks.plist 中的相关选项。这里我要王婆卖瓜一下我维护的 OpenCore 文档的简体中文文档翻译 (acidanthera 不让翻译,我偏要翻译、帮助国内的黑苹果爱好者们),内置了站内搜索引擎和目录索引。
参考资料
先写出可复现的测量和失败样本,再决定要不要换组件或加一层抽象。
值得单独记下的点
- OsxAptioFixDrv 和 OsxAptioFix2Drv – Clover r4368 版本之前内置的内存分配驱动,不支持 NVRAM。 其中 OsxAptioFix2Drv 是 OsxAptioFixDrv 的简化的版本、去掉了内置内存分配算法,因此不能用在旧版本的 macOS 或者一些老硬件中,但是可以提供休眠(Hibernation)支持。
- OsxAptioFix2Drv-free2000 – 一个不应该使用的驱动。这个驱动只适用于一些特定的硬件、特定的设备、特定的内存大小。这个驱动甚至可能会导致硬件损坏,请移步这个驱动的 作者的 Reddit 中的解释。
- OsxAptioFix3Drv – Clover r4369 版本之后至今内置的内存分配驱动,提供了对 NVRAM 的支持。现在仍然在由 Clover 团队佛系维护。
- AptioMemoryFix – acidanthera 团队(就是现在开发和维护 OpenCore、AppleALC、WhateverGreen、VoodooPS2、VirtualSMC 这一套黑苹果全家桶的团队)开发的内存分配驱动,相比 Clover 团队的 OsxAptioFix3Drv 有不少优势。AptioMemoryFix 加上 AptioInputFix、CleanNvram 一起共三个驱动合并发布为 AptioFixPk
- 不论如何,备份你现在的 EFI 是非常重要的。和我在 上一篇文章 中说的一样,建议你将硬盘中的 EFI 复制到 U 盘的 EFI 分区中,接下来的所有修改都在 U 盘的 EFI 分区中进行;重启时从 U 盘启动,如果出了什么差错可以拔了 U 盘重启(你硬盘里的 EFI 仍然是正常的);而且重启进 macOS 以后再插上 U 盘、Finder 自动会挂载 U 盘中的 EFI 分区,不需要输密码。当你折腾完以后,可以再把 U 盘里的 EFI
- 将 EFI 分区中 CLOVER/drivers/UEFI 目录中的 AptioMemoryFix、OsxAptioFix3Drv、OsxAptioFix2Drv、OsxAptioFixDrv、OsxLowMemFixDrv、OsxAptioFix2Drv-free2000 驱动全部移除。
- 从 OcQuirks 的 GitHub Release 中下载 OcQuirks.zip 并解压,将其中的三个文件( FwRuntimeServiecs.efi 、 OcQuirks.efi 和 OcQuirks.plist )复制到 CLOVER/drivers/UEFI 目录中:
- macOS Memory Allocation – The Vanilla Laptop Guide
落地时建议先做的 5 件事
- 用自己的流量和设备测,不要只抄厂商推荐最小配置。
- DNS、CDN、代理分流先画清 Fake IP 和 Real IP 的边界。
- 前端性能看 CLS、白屏和重复渲染,而不是只看打包体积。
- 基础设施变更走 Git,能复现、能回滚。
- 结论写成可检查的清单:接口、超时、失败样本、回滚版本。
和智能体产品怎么接
龙虾PRO做 OpenClaw 落地时,网络、DNS 和前端性能笔记最有用的是「边界」:哪一层该加速、哪一层不该假装智能。数字员工调用外部能力前,先把超时和失败路径写死。
本文侧重全链路风控方法论。落地时请用自身业务单据做回放验证,不要把示例阈值直接当生产策略。 相关:风控体检 · 方案资源
常见问题 FAQ
什么是AI智能系统?
「AI智能系统」可概括为:在启动 macOS 或 USB 安装盘中的 macOS 安装程序时,如果 -v 中出现以下提示错误,或者卡在一行 + ,就说明需要修复内存分配。 本文从定义、方法与实践要点展开说明。
为什么要关注AI智能系统?
关注AI智能系统,是因为它直接影响效率、风险与可复制性。文中指出:在启动 macOS 或 USB 安装盘中的 macOS 安装程序时,如果 -v 中出现以下提示错误,或者卡在一行 + ,就说明需要修复内存分配。
如何落地AI智能系统?有哪些关键步骤?
建议按以下路径推进AI智能系统:1) OsxAptioFix2Drv-free2000 – 一个不应该使用的驱动。这个驱动只适用于一些特定的硬件、特定的设备、特定的内存大小。这个驱动甚至可能会导致…;2) OsxAptioFix3Drv – Clover r4369 版本之后至今内置的内存分配驱动,提供了对 NVRAM 的支持。现在仍然在由 Clover 团队佛…;3) 将 EFI 分区中 CLOVER/drivers/UEFI 目录中的 AptioMemoryFix、OsxAptioFix3Drv、OsxAptioFix2D…;4) 从 OcQuirks 的 GitHub Release 中下载 OcQuirks.zip 并解压…
AI智能系统适合哪些人或团队?
AI智能系统更适合:产品/技术负责人、运营与增长团队、需要落地智能体或自动化的中小团队、关注「AI智能系统」方向的读者。若你只需要单次聊天式问答,可先读概念;若要上生产,请重点看步骤、权限与风控相关段落。
关于「何时需要为黑苹果修复内存分配?」,本文给出了什么结论?
在「何时需要为黑苹果修复内存分配?」部分,要点是:上,能省不少事。 过去的内存分配修复驱动 需要注意的是,acidanthera 团队由于开始着手 OpenCore 的开发,因此他们宣布中止 AptioFixPkg 的开发、不再对其提供任何技术支持。 AptioFixPkg 中的三个驱动也被分拆成为 OpenCore 的一部分。这对于尚未切换到 OpenCore、还在使用传统但是稳定成熟的 Clover 的黑苹果用户来说并不是什么好消息。也正是因为 acidanthera 团队的这一举
关于「过去的内存分配修复驱动」,本文给出了什么结论?
在「过去的内存分配修复驱动」部分,要点是:enCore 中内置的内存分配驱动 FwRuntimeServices 独立出来、进行移植并用于 Clover 呢? 你说的这个 OcQuirks,他厉害吗? 这就是 OcQuirks 诞生的缘由。OcQuirks 的开发者 ReddestDream 表示 OcQuirks 是从 OpenCore 的源码中独立出来的内存分配驱动、延续了 OpenCore 的 Quirks 模型,目的就是为了 替代 AptioMemoryFix 和 Os