简介:Clover_v5.0_r5122_X64 是一款面向黑果(Hackintosh)玩家的 64 位四叶草启动引导程序,主要解决非苹果硬件无法直接识别并启动 macOS 的问题。它通过模拟苹果原生启动管理器,让普通主板也能加载 macOS 内核,尤其适配 macOS Big Sur,适合具备一定折腾经验、愿意自行配置 EFI 与驱动的进阶用户。压缩包共 517 个文件,约 9.37MB,以 334 个 png 与 78 个 icns 构成图形化启动界面资源,51 个 efi 驱动、10 个 plist 配置及 boot0af、boot1f32、boot6 等引导文件负责实际启动流程,另含少量 kexts、脚本与说明文档。目前已有 1045 人学习下载。资源完整保留了 Clover 的引导模块、主题素材与配置模板,读者可据此在 EFI 分区部署引导、按硬件挑选 kexts,并借助 Clover Configurator 调整启动项与显示效果,为安装和排错 macOS Big Sur 提供可复用的文件基础。
1. 黑果四叶草引导:Clover_v5.0_r5122_X64 到底在解决什么问题
很多人第一次接触黑苹果,卡在的不是驱动,也不是声卡网卡,而是开机那一瞬间——主板自检过了,屏幕却黑着,或者直接进了 Windows,macOS 分区像不存在一样。Clover_v5.0_r5122_X64 这个版本号背后,其实是一套 X64 架构下的引导加载器,它负责在 UEFI 或传统 BIOS 环境下,把 macOS 的预引导环境接管过来,再交给系统内核。换句话说,没有它,你硬盘里那个精心写好的 macOS 分区,连被看见的资格都没有。
这个标题适合两类人:一类是刚把 macOS 镜像写入 U 盘、准备第一次引导的新手,需要知道 Clover 的目录结构和最小配置怎么摆;另一类是已经能进系统、但被多系统菜单、引导超时、版本升级搞烦的老手,想搞清楚 r5122 这个版本在配置项和兼容性上的边界。黑果四叶草引导的核心价值,是把「主板固件认不认这个分区」变成「引导器怎么向系统描述这个分区」,控制权从主板手里拿回来一部分。下面按实际落地顺序,从目录结构、配置参数、驱动放置到排错,一步步拆开。
2. Clover 引导目录结构与最小可启动配置
2.1 EFI 分区里到底该放哪几个文件夹
Clover 的安装方式分两种:一种是写入 U 盘做安装引导,另一种是装到硬盘 EFI 分区做日常引导。无论哪种,最终 EFI 分区根目录下会有一个EFI文件夹,里面至少要有BOOT和CLOVER两个子目录。BOOT里放的是BOOTX64.efi,这是主板固件直接调用的入口文件;CLOVER里才是 Clover 自己的配置、驱动和工具。
一个能跑起来的最小结构是这样的:
EFI/ ├── BOOT/ │ └── BOOTX64.efi └── CLOVER/ ├── CLOVERX64.efi ├── config.plist ├── ACPI/ │ └── patched/ ├── drivers/ │ └── UEFI/ ├── kexts/ │ └── Other/ └── tools/CLOVERX64.efi是 Clover 的主程序,config.plist是它的黑匣子——几乎所有行为都由这个文件决定。ACPI/patched放的是你提取并修补过的 DSDT 或 SSDT,drivers/UEFI放 UEFI 驱动,kexts/Other放第三方内核扩展。新手最容易犯的错,是把所有 kext 一股脑塞进Other,结果引导阶段就卡死,因为某些 kext 在预引导环境里根本不该加载。
提示:r5122 这个版本对
drivers/UEFI下的驱动加载顺序有依赖,ApfsDriverLoader.efi和HFSPlus.efi至少要有一个,否则 Clover 看不到 macOS 分区。
2.2 config.plist 里必须改的四个参数
config.plist是一个 XML 格式的 plist 文件,用 ProperTree 或 Xcode 编辑都行。下面这段是一个能引导起 macOS 安装盘的最小片段,只保留关键节点:
<key>ACPI</key> <dict> <key>DSDT</key> <dict> <key>Fixes</key> <dict> <key>FixShutdown</key> <true/> </dict> </dict> </dict> <key>Boot</key> <dict> <key>Arguments</key> <string>-v dart=0 nv_disable=1</string> <key>Timeout</key> <integer>5</integer> <key>Secure</key> <false/> </dict> <key>Devices</key> <dict> <key>USB</key> <dict> <key>Inject</key> <true/> <key>FixOwnership</key> <true/> </dict> </dict> <key>GUI</key> <dict> <key>Scan</key> <dict> <key>Entries</key> <true/> <key>Tool</key> <false/> </dict> </dict>Boot/Arguments里的-v是打开啰嗦模式,第一次引导必须加,不然卡住只能看黑屏。dart=0是关闭 VT-d,很多主板不开这个会直接卡在AppleIntelCPUPowerManagement。nv_disable=1是屏蔽 N 卡,如果你用的是 A 卡或核显,这行可以删。Timeout是菜单等待秒数,设 0 会直接进默认分区,设 5 给自己留个后悔药。Devices/USB/Inject和FixOwnership在安装阶段建议都开,装完系统再按需关掉。
GUI/Scan/Entries设为 true 后,Clover 会自动扫描所有可引导分区并生成菜单项。如果你发现菜单里出现了不该出现的 Windows 恢复分区,可以在GUI/Scan下加Legacy设为 false 来减少干扰。
2.3 驱动和 kext 的放置逻辑
drivers/UEFI下的.efi文件是 UEFI 驱动,负责在引导阶段提供文件系统访问、内存修补等功能。常见的有:
| 驱动文件 | 作用 | 是否必须 |
|---|---|---|
| ApfsDriverLoader.efi | 读取 APFS 分区 | 安装 High Sierra 及以上必须 |
| HFSPlus.efi | 读取 HFS+ 分区 | 安装 Sierra 及以下必须 |
| OsxAptioFix3Drv.efi | 修复内存映射 | 多数主板需要 |
| SMCHelper.efi | 模拟 SMC 芯片 | 必须 |
kexts/Other下放的是内核扩展,安装阶段只需要FakeSMC.kext或VirtualSMC.kext二选一,加上Lilu.kext和WhateverGreen.kext。网卡、声卡、USB 的 kext 等系统装完再放,否则安装器可能因为加载了不匹配的驱动而崩溃。我一般会在kexts下再建一个Off文件夹,把暂时不用的 kext 挪进去,Clover 不会加载Off里的东西,这样切换配置比反复删文件快得多。
3. 用 Clover 引导多系统:菜单、超时与分区识别
3.1 让 Windows 和 macOS 同时出现在菜单里
Clover 默认会扫描所有分区,但 Windows 的 EFI 引导文件在EFI/Microsoft/Boot/bootmgfw.efi,而 Clover 有时会把它识别成一个普通可执行文件而不是引导项。解决办法是在config.plist的GUI节点下加Custom条目,手动指定 Windows 的引导路径:
<key>GUI</key> <dict> <key>Custom</key> <dict> <key>Entries</key> <array> <dict> <key>Path</key> <string>\EFI\Microsoft\Boot\bootmgfw.efi</string> <key>Title</key> <string>Windows 10</string> <key>Type</key> <string>Windows</string> <key>Volume</key> <string>你的 Windows EFI 分区 UUID</string> </dict> </array> </dict> </dict>Volume填的是分区 UUID,不是磁盘序列号。在 macOS 下用diskutil info /dev/disk0s1可以查到。Type设为Windows后,Clover 会用特定的方式加载它,避免出现引导 Windows 后花屏或直接重启的问题。如果你不想手动指定,也可以在GUI/Scan下把Legacy设为 true,让 Clover 用传统方式扫描,但这样菜单里可能会多出一些无用的恢复分区项。
3.2 引导超时和默认分区的设置技巧
Boot/Timeout控制菜单等待时间,单位是秒。设成-1会一直等待,设成0会直接进默认分区。默认分区由Boot/DefaultVolume决定,填的是分区卷标,比如Macintosh HD。如果你经常需要在 Windows 和 macOS 之间切换,建议把Timeout设成 3 到 5 秒,既不会等太久,也来得及按方向键。
还有一个容易被忽略的参数是Boot/DefaultLoader,它指定默认的引导器路径。如果你装了多个版本的 Clover 或者同时有 OpenCore,这个参数可以强制指定用哪个。不过 r5122 对DefaultLoader的解析有时候会抽风,我遇到过填了绝对路径却仍然加载了错误引导器的情况,后来干脆把不用的引导器文件改名,物理上杜绝误加载。
3.3 分区识别失败的三种排查方向
Clover 菜单里看不到 macOS 分区,最常见的原因是 APFS 驱动没加载。High Sierra 之后 macOS 默认用 APFS,而 Clover 原生不带 APFS 读取能力,必须靠ApfsDriverLoader.efi。检查drivers/UEFI下有没有这个文件,没有就去 Clover 安装包的drivers/off里找,复制过来。
第二种情况是分区表类型不匹配。如果你的 macOS 装在 MBR 分区表的硬盘上,Clover 需要HFSPlus.efi或者APFSDriverLoader.efi配合PartitionDxe驱动才能识别。UEFI 主板建议全盘 GPT,省掉很多麻烦。
第三种是config.plist里GUI/Scan/Entries被设成了 false,Clover 只显示手动添加的条目。检查这个值,改成 true 后重启看菜单有没有变化。如果还是没有,把-v加上,在啰嗦模式里看 Clover 扫描到了哪些分区,日志会直接告诉你哪个分区被跳过了。
4. Clover 引导避坑:五个让新手卡到怀疑人生的点
4.1 卡在 End RandomSeed 不动
现象:啰嗦模式最后一行停在End RandomSeed,后面没有任何输出,等十分钟也没反应。
原因:这是内存映射问题,Clover 在向系统传递内存信息时,某些主板的内存布局和 macOS 内核期望的不一致。r5122 默认用的OsxAptioFix3Drv.efi在部分 Z390、B460 主板上会触发这个问题。
解决:把drivers/UEFI下的OsxAptioFix3Drv.efi换成OsxAptioFix2Drv-free2000.efi,或者改用AptioMemoryFix.efi。换完之后在Boot/Arguments里加slide=0,强制内核使用固定偏移量。如果还不行,尝试在 BIOS 里关闭Above 4G Decoding,这个选项在部分微星主板上默认开启,会干扰 Clover 的内存分配。
4.2 引导菜单出现多个重复的 macOS 分区
现象:Clover 菜单里同一个 macOS 分区出现了两三次,名字一样,图标一样,选哪个都能进,但看着难受。
原因:Clover 同时通过Entries扫描和Legacy扫描发现了同一个分区,两次扫描的结果都塞进了菜单。另外,如果你之前手动添加过Custom条目,而自动扫描又扫到了同一个分区,也会重复。
解决:在GUI/Scan下把Legacy设为 false,只保留Entries扫描。然后检查GUI/Custom/Entries里有没有和自动扫描重叠的条目,有就删掉。如果重复项还在,去CLOVER根目录下找CloverIA32.efi或CloverX64.efi同级的menu缓存文件,删掉后重启让 Clover 重建菜单。
4.3 安装完系统后 Clover 菜单里没有安装盘
现象:第一次从 U 盘引导安装 macOS,装完重启后,Clover 菜单里只剩硬盘上的系统,U 盘安装盘不见了。
原因:Clover 默认只显示可引导的分区,安装盘在系统安装完成后,其引导文件可能被标记为不可引导,或者ApfsDriverLoader.efi在扫描时跳过了它。
解决:在 Clover 菜单界面按F3键,会显示所有被隐藏的分区,包括安装盘和恢复分区。如果按 F3 后出现了,说明只是被隐藏了,可以在config.plist的GUI/Hide节点下把对应的卷标从隐藏列表里移除。如果按 F3 也没有,检查 U 盘的 EFI 分区是否还在,有时候安装器会覆盖 U 盘的引导文件。
4.4 引导 Windows 后 Clover 菜单消失
现象:从 Clover 菜单选择 Windows 启动,Windows 正常进入,但重启后直接进了 Windows,Clover 菜单再也不出现了。
原因:Windows 的引导管理器bootmgfw.efi在启动时会把主板 NVRAM 里的引导顺序改成自己优先,Clover 的引导项被挤到了后面。这是 Windows 的默认行为,不是 Clover 的 bug。
解决:进 BIOS 把 Clover 的引导项调回第一位。如果 BIOS 里找不到 Clover 项,用EasyUEFI或bcdedit在 Windows 下把 Clover 的BOOTX64.efi添加为第一引导项。更彻底的办法是把 Clover 的BOOTX64.efi改名为bootmgfw.efi并替换 Windows 的同名文件,让主板以为自己在引导 Windows,实际上先加载 Clover,再由 Clover 引导 Windows。这个操作有风险,替换前备份原文件。
4.5 升级 Clover 版本后 config.plist 不兼容
现象:从旧版 Clover 升级到 r5122 后,原来能正常引导的config.plist突然失效,要么卡代码,要么菜单都不出。
原因:r5122 对config.plist的节点结构做了一些调整,比如Boot/Arguments的解析更严格,Devices/USB下的某些子键被移到了Devices/Properties。旧配置文件里的一些键值在新版本里被忽略或报错。
解决:不要直接覆盖旧config.plist。用 Clover 安装包里的config-sample.plist作为模板,对照旧文件逐项迁移。重点检查Boot、Devices、GUI三个节点,把旧文件里独有的键值手动加回去。迁移完成后用plutil -lint config.plist检查语法,确保没有格式错误。我一般会在升级前把整个CLOVER文件夹备份一份,出问题直接回滚,比逐项排查快得多。
5. Clover 引导的进阶验证:用日志和 NVRAM 确认引导链
5.1 打开 Clover 的调试日志
Clover 在引导阶段可以输出详细日志,帮你确认它到底加载了哪些驱动、扫描了哪些分区、传递了哪些参数给内核。在config.plist的Boot节点下加:
<key>Boot</key> <dict> <key>Debug</key> <true/> <key>Log</key> <true/> </dict>重启后,Clover 会在 EFI 分区的CLOVER/misc目录下生成debug.log。这个文件记录了从 Clover 启动到移交控制权的全过程。重点看几个地方:Loading driver后面跟的文件名,确认你需要的驱动都加载了;Scanning volume后面跟的分区,确认 macOS 分区被扫到了;Passing arguments后面的字符串,确认-v、dart=0这些参数真的传进去了。如果日志里某个驱动加载失败,会显示Failed to load,后面跟错误码,根据错误码去查是文件损坏还是依赖缺失。
5.2 用 NVRAM 验证引导参数是否生效
macOS 启动后,打开终端输入:
nvram -p | grep boot-args如果输出里有你设置的-v dart=0等内容,说明 Clover 成功把参数写进了 NVRAM。如果输出为空或者只有默认值,说明 Clover 的Boot/Arguments没有生效,检查config.plist里这个键有没有拼错,或者是不是被NVRAM节点下的boot-args覆盖了。Clover 允许在NVRAM节点下单独设置boot-args,优先级比Boot/Arguments高,两个地方都检查一遍。
另一个有用的命令是:
ioreg -l | grep -i "clover"如果 Clover 正确注入了信息,这里会显示 Clover 的版本号和引导时间。没有输出也不代表引导失败,有些主板不会把 Clover 的信息暴露给 ioreg,但结合nvram的结果基本能判断引导链是否完整。
5.3 一个我常用的快速验证习惯
每次改完config.plist或者增删驱动后,我不会直接重启进系统,而是先在 Clover 菜单界面按F1看帮助,按F2保存当前配置快照,按F3显示隐藏分区,按F4提取 DSDT 到ACPI/origin。这几个快捷键能在不进入系统的情况下确认 Clover 的基本功能是否正常。如果按 F4 后ACPI/origin下没有生成文件,说明 EFI 分区挂载有问题或者 Clover 没有写入权限,这时候进系统大概率也会出问题,不如先解决挂载再继续。
我自己的习惯是,每次升级 Clover 版本前,先把整个EFI分区打包备份,文件名带上日期和版本号,比如EFI_backup_20250101_r5122.zip。升级后如果引导失败,用 U 盘启动进 PE 或者 macOS 安装盘,把备份解压回去,五分钟就能恢复。这个习惯帮我省过至少三次通宵排查的时间。黑果引导这件事,玄学成分有,但更多是配置和顺序问题,留好后悔药比什么都强。希望帮到你。
本文还有配套的精品资源,点击获取