黑苹果引导工具 Clover 配置详解

主要功能;


  1. 可引导mac os 10.4-10.8,win efi,linux efi

  2. 可引导传统操作系统 (WindowsXP,Linux,DOS)的启动扇区 (mbr)

  3. EFI bootloader 提供 RuntimeServices 与 OS 运行,不可用于传统的引导器

  4. 默认侦测并设置硬件的大部份的属性,并且用户可以在 config 中自己设置

  5. 可在在启动面板中重启进入其他操作系统

  6. 通过oem名称自动侦测配置 config

  7. 写入 config 的 uuid 和 os 的一样

  8. 自动补丁功能

  9. smbios 更新为 standard 2.6

  10. 更新 ACPI 至 standard 4.0 版本. 支持从开机分区或 EFI 文件夹加载定制的 DSDT

  11. MADT表更新,解决在某些硬件 NMI 的问题加载APCI表单 (SSDT-xx, APIC, BOOT, SLIC, SLIT, SRAT, UEFI)

  12. 正确设置电源属性为笔记本,台式,服务器

  13. 可选重启修复功能⁃支持睡眠唤醒功能

  14. 可用 PCIRootUID 设备属性注入功能,为那些无法编辑 dsdt 的人准备的

  15. 显卡属性注入,为大多数 A 卡和 N 卡

  16. 可选 EDID 注入

  17. usb3.0修复 (LegacyOff,Ownership, Builtin, clock-id)

  18. HDA 注入, HDMI 修复

  19. 网卡内建

  20. cpu 睿频

  21. 自动生成 P-State 及 C-State 的功能

  22. cpu变频档位和电压控制

  23. 自动给内核打补丁为那些不支持的 CPU 像 Atom and Ivy Bridge (amd那是不可能的)

  24. 自动为不支持的硬件给 kext 打补丁

  25. 第三方 kext 加载

  26. 支持火线下的安全模式

  27. 支持默认分区引导

  28. 界面可自选,主题,图标,字体

  29. 按 F1 获得详情,未来可能提供更多语言和字体支持.

  30. 按 F2 储存GUI 的开机纪录 preboot.log 自动保存在 EFI/clover/misc 文件夹

  31. 按 F4 获取原始的ACPI表单,自动保存在 EFI/clover/ACPI/origin 文件夹

  32. 按 F5 测试dsdt path功能

  33. 按 F6 可获取显卡rom,自动保存在 EFI/clover/misc 文件夹

  34. 按 F10 截取开机引导界面图,自动保存在 EFI/clover/misc 文件夹

  35. 按 F12 推出 CD/DVD 并更新引导菜单当放入CD后

主要介绍内容

  • Clover 的编译

  • Clover 的安装

  • fixes dsdt 的功能

  • 显卡注入功能

  • EDID 注入与定制

  • ATI 显卡接口参数修正

  • 任意 kext 打补丁 (kexts to patch)

  • 隐藏引导界面不需要的菜单和卷标

  • 加载额外的驱动忽略缓存你

  • P- and C-states 功能介绍

  • config.plist 简介

  • ······ 等更

编译Clover

所用工具:Clovergrower, 可在这里下载:前往 或者用 CloverGrowerPro,可在这里下载:前往 当然命令行工具 Common tool line 是必须的,可在终端直接输入 otool Mac 会自动下载安装,或者自行搜索。

什么是 CloverGrower ?

他是编译和下载最新 Clover 的工具,并可打包成 pkg、iso 格式的工具。首次先运行 CloverGrower.command 设置完后可直接输入 Clover 来完成同步和编译。
第一次运行如提示缺少 gcc 等工具,请按提示下载安装即可。因为被墙的原因可能很慢。
编译完后会生成如下文件


图一


其中 Clover.iso 就如同 wowpc.iso 可直接用 easybcd 挂载。
更多编译的信息看这里:前往

这里说一下 iso 格式。
就像 Win 版变色龙你可以在 Win 下用 easybcd 挂在启动 (如果没有 EFI 分区则可能会卡在 EFI 模拟界面,你得自己选择 EFI 分区的选中 cloverX64.efi 或 cloverXA32.efi,下面会说明如何操作)
可在官网下载该 iso :前往

Fixes dsdt 的功能


Apci
参数功能
AddDTGP修改 DSDT 添加方法所必须依赖的函数。必不可缺
FIX_shutdown关机修复,主要是添加 _PTS 函数,判断寄存器 arg0 值是否为 5 ,华硕主板建议勾选.
FIX_HPET修复 HPET ,添加 IRQ(0,8,11) 加载原生电源管理,10.9 不需要
FakeLPC仿冒 LPC ,一般 Clover 会自动注入合适的芯片参数到 dsdt 中,来达到加载 AppleLPC.kext 的目的。对以 Intel and NForce 芯片,建议勾选。特别是芯片组比较老的如:ICH7,ICH9
FIX_IPIC从 decice IPIC 移除中断语句 (IRQ(2)),有助于电源按钮的工作,对于笔记本而言,更希望增加这个中断功能。。。
FIX_SBUS增加 SMBusControlle 到设备树种,可修复因缺失 SBUS 控制而在系统 log 中出现的警告,建议勾选
FIX_DISPLAY增加 GFX0,和 HDMI 音频设置 HADU. 如果设置了 FAKEID 也会增加到这边,建议勾选
FIX_HDA修正 AZAL to HDEF or HDAU, 增加 layout -id 和 pinconfig,MaximumBootBeepVolume 属性
FIX LAN注入网卡属性,帮助网卡内建。建议启用
FIX USB注入 USB 属性,帮助内建 USB
AddMCHC这个功能是在 dsdt 中添加一装置具体是 DveiceID=0X0044,匹配 Intel Clarkdale 平台。有些芯片需要这个装置来解决 PCI 的电源管理问题,一般不启用
FIX SATA内建磁盘,用 ICH6 的 ID 匹配,解决橙色磁盘问题,一般启用
FIX IDE修复在 10.6 事五国出现的 AppleIntelPIIXATA 错误。 一般不启用
FIX FIREWIRE在火线控制装置中增加 fwhub 属性。一般不启用
FIX Airport为支持 Airport 的无线网卡注入属性,以开启 Airport 功能,无此设备的不启用

2. BOOT


Boot

2.1 Arguments

参数功能
-v故障调试模式,显示所有调试日志(含错误信息
-s单用户模式:不能正常进入系统时采用,脱离图形界面,以命令行方式进入
-x安全模式:不能正常进入系统时采用。
arch=i386以32位内核模式启动。
arch=X86_64以64位内核模式启动
npci=0x2000解决独立显卡PCIconfiguration begin卡主不动
npci=0x3000解决独立显卡PCIconfiguration begin卡主不动
darkwake(for setting the "Deepsleep" mode in Lion/ML) 开启针对特定机型的深度睡眠的问题
slide=0只适用于10.8.x
-xcpm在IvyBridge系统里强制xcpm使用系统以实现CPU原生电源管理
cpus=1使用单核模式
dart=0修复因开启 VT-d 导致系统启动时SMC五国错误,系统安装不能正常进行时采用,安装成功后关闭
-gux_defer_usb2修复使用 GenericUSBXHCI.kext 导致的睡眠问题,Intel 7 系列适用
-gux_no_idle终止 Intel 芯片上的一些空闲模式(idle-mode)功能,Intel 7 系列适用
-gux_nosleep强迫睡眠适用 Shudown/Reset 方法
kext-dev-mode=1启用第三方驱动
nvda_drv=1此参数可以让系统安装 Nvidia 官方 WebDricer 显卡驱动,作用等同于变色龙下 "nvda_drv=1" 参数,需将 SMBIOS 设置为 MacPro 机型
nv_disable=1禁止 Nvidia 独显驱动加载

2.2 Legacy,Timeout,DefaultVolume,DefaultLoader

Legacy

对于要以传统方式 (bios引导) 加载的 Windows 和 Linux 系统,在很大程度上取决于硬件和 BOIOS 。可以通过下面几种参数来实现:

参数功能
PBRtest/PBR"PBR" 即 (Partition Boot Record) 硬盘分区引导记录. 传统 BIOS 开机方式,从硬盘分区加载引导记录启动。多分区系统引导时使用此设置
LegacyBiosDefaultEntryUEFIBIOS 控制传统 BIOS 引导方式,当机器设为 UEFI 引导方式时选此项。对于 UEFI 开机方式,你可以指定启动硬盘,选择此项后 LegacyBiosDefaultEntry 子项激活,<0/1/2/3...> 硬盘编号,0 表示第一块硬盘

Time

参数功能
Timeout5 - 暂停时间;0 - 不使用 GUI图形界面,直接加载操作系统;-1 - 使用 GUI 图形界面,不自动加载操作系统

Clover 引导器在加载一个操作系统前将暂停 5 秒,如果在这一段时间内按任意一键。则倒计时停止。

DefaultVolume

用来设置Clover默认加载引导卷

参数功能
DefaultVolume可用卷名、分区 GUID,或唯一设备路径UUID
DefaultLoader除了 DefaultVolume 选项,引导文件可以被指定到 DefaultLoader 项里。这里提供了多分区系统引导时更精确的默认条目选择,该值可以是完整的路径或唯一设备路径 UUID 及文件名

2.3 Log,Fast,XMPDetection,NeverHibernaten

Log

如果你开机无法正常进入 Clover 你可以使用这个设置生成一个调试结果输出到 /EFI/CLOVER/misc/debug.log 文件,这个日志文件有助你分析出哪里出了问题

参数功能
Log在系统每次启动时保存日志文件

警告!当它正在将日志文件写入磁盘时,打开日志将大大增加加载时间。因此在重启电脑前,要有足够的耐心等待。

Fast

参数功能
Fast此参数类似于设置 Time=0,

但有下区别:
nvarm.plist 文件只在设置后的第一次启动时被检测存储,后续开机则跳过检测,以加快开机速度。
此参数设置后有如下效果

  1. 不侦测最佳显示模式

  2. 不加在图形界面主题

  3. 不扫描内存 SPD

  4. 不能选择进入 GUI 图形界面

XMPDetection

此参数只适用于 DDR3 XMP 内存

PS:eXtreme Memory Profile即英特尔XMP认证的内存,SPD中有两个或更多频率设定档案,只要在主板中启用这些预设的XMP档案,即可将内存条自动超频到1600或更高值(根据档案设定而定)。

XMPDetection当检测到 XMP 内存时读取最佳预设参数,或禁止检测 XMP 内存
yes/no开启/关闭
1参数一
2参数二

NeverHibernate

NeverHibernate禁止休眠状态侦测
开启/关闭Clover版本r2516+ 建议采用(Legacy booti)传统BIOS引导方式,UEFI方式引导也有成功的案例,此参数功能目前尚处于测试阶段,慎用!

PS: 这里的 Hibernate 休眠,指黑苹果休眠状态。

  1. 白苹果设置 Hibernate (休眠模式)
    在终端里输入:

    sudo pmset -a Hibernate modes 0
    supend to RAM 休眠到内存,默认为桌面电脑
    sudo pmset -a Hibernate modes 1
    supend to disk 休眠到硬盘
    sudo pmset -a Hibernate modes 3
    supend to disk+RAM 混合休眠,默认为笔记本电脑

  2. 黑苹果设置 Hibernate modes (休眠模式)

    sudo pmset -a Hibernate modes 29
    数值21也有成功的,其他数字需要进一步验证。

  3. 黑苹果 Hibernate modes(休眠模式)的使用

    1. 系统菜单里点“睡眠”。一分钟后,系统将关闭所有.

    2. 按电源键开机,这是看起来像普通的启动一样,进入 Clover 引导界面

    3. 找卷名后面带 Hibernated 字样的图标,默认是倒计时进入启动的,或可以直接按回车启动。

    4. 如要取消休眠唤醒,不想唤醒,按空格键并选择 Canel hibernate wake.

2.4 Secure Boot

Device


Device
参数功能
AddProperties主要是增加一些设备的额外功能。此功能不是很完善。如模板中是增加亮度控制面板。在来是 FakeID 项目。仿冒 id。在注入该某些设备的属性的同时,我们希望注入不是该设备本身固有的 id,已达到我们所希望的功能
Audio声卡注入, string,字符型。其值一般可谓detect(以为自动侦测),也可手动输入你要的值。如声卡为887,假设在0x0C(12)是工作,则直接填写12或0x0c。有关仿冒声卡的layout -id,自己搜索相关型号的仿冒声卡或教程。不是说启用这个功能声卡就可以工作.
addClockID使唤醒 Mac 后 USB 依旧正常工作
USBInjection使 USB 键盘、鼠标能唤醒 Mac
USBFixOwnership修复 USB 在 UEFI 模式引导时的所有权
Properties属性注入,注入 EFI-string

DisableDrivers


DisableDrivers
参数功能
DisableDrivers禁止 EFI 驱动,消除进入 Mac 后 EFI 驱动的影响

GUI


GUI
参数功能
Hide Volume隐藏分区/启动文件

Graphics


Graphics
参数功能
CustomEDID定制 EDID
InjectEDID注入 EDID
DualLink0关闭,1启用,解决某些高分屏花屏、黑边问题
LoadVBios使用提取的显卡 rom
PatchVBios使得 Clover 在引导界面找到合适的分辨率

Kernel and Kext Patches


Kernel and Kext Patches
参数功能
AppleRTC防止 cmos 重置和启动是出现的有关 AppleRTC 的错误
Asus AICPIPMAppleIntelCPUPowerManagement.kext patch 为华硕主板,其他主板未知
DebugClover 启动调试,一般不启用
KernelCPU为特别的 CPU patch,如 Atom,Ivy,Pentium4
KernelLAPICHP Notebook 修复功能,无需在启动时输入 cpu=1

RtVariables


RtVariables
参数功能
ROM参数值为十二位十六进制。这个参数一般会从 smbios 中获取。一般不管。此项设置有关网卡的 mac 地址。既反映此值可随机
MLB和主板 serial number 相关,17位数。其设置无别规则。最好的设置是 sm+五个随机数,12位系列号加5个数随你选择。在以前可解决 imessage 登入后重启退出无法再次登入的的问题。现在加这个不知道有什么特别的意思
LogEveryBoot每次启动 os 时写如 bootlog,默认开启
YESLogLineCount记录 log 的最大行数,默认 3000
MountEFI挂载 EFI 分区,默认不挂载

更改参数后, 删除 nvram.plist (隐藏文件,默认 Mac 引导分区根目录),否则参数不生效。

SystemParameters


SystemParameters
参数功能
InjectKexts加载 EFI/CLOVER/KEXTS/10.10,10.9,10.8,Other 下的 kext
BacklightLevel笔记本亮度调节 0XFFFF 最亮,默认 0X0501, 台式机忽略
CustomUUID定制 UUID