黑苹果引导工具 Clover 配置详解
主要功能;
- 可引导mac os 10.4-10.8,win efi,linux efi
 - 可引导传统操作系统 (WindowsXP,Linux,DOS)的启动扇区 (mbr)
 - EFI bootloader 提供 RuntimeServices 与 OS 运行,不可用于传统的引导器
 - 默认侦测并设置硬件的大部份的属性,并且用户可以在 config 中自己设置
 - 可在在启动面板中重启进入其他操作系统
 - 通过oem名称自动侦测配置 config
 - 写入 config 的 uuid 和 os 的一样
 - 自动补丁功能
 - smbios 更新为 standard 2.6
 - 更新 ACPI 至 standard 4.0 版本. 支持从开机分区或 EFI 文件夹加载定制的 DSDT
 - MADT表更新,解决在某些硬件 NMI 的问题加载APCI表单 (SSDT-xx, APIC, BOOT, SLIC, SLIT, SRAT, UEFI)
 - 正确设置电源属性为笔记本,台式,服务器
 - 可选重启修复功能⁃支持睡眠唤醒功能
 - 可用 PCIRootUID 设备属性注入功能,为那些无法编辑 dsdt 的人准备的
 - 显卡属性注入,为大多数 A 卡和 N 卡
 - 可选 EDID 注入
 - usb3.0修复 (LegacyOff,Ownership, Builtin, clock-id)
 - HDA 注入, HDMI 修复
 - 网卡内建
 - cpu 睿频
 - 自动生成 P-State 及 C-State 的功能
 - cpu变频档位和电压控制
 - 自动给内核打补丁为那些不支持的 CPU 像 Atom and Ivy Bridge (amd那是不可能的)
 - 自动为不支持的硬件给 kext 打补丁
 - 第三方 kext 加载
 - 支持火线下的安全模式
 - 支持默认分区引导
 - 界面可自选,主题,图标,字体
 - 按 F1 获得详情,未来可能提供更多语言和字体支持.
 - 按 F2 储存GUI 的开机纪录 preboot.log 自动保存在 EFI/clover/misc 文件夹
 
- 按 F4 获取原始的ACPI表单,自动保存在 EFI/clover/ACPI/origin 文件夹
 
- 按 F5 测试dsdt path功能
 - 按 F6 可获取显卡rom,自动保存在 EFI/clover/misc 文件夹
 - 按 F10 截取开机引导界面图,自动保存在 EFI/clover/misc 文件夹
 - 按 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,下面会说明如何操作)
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 
 | 
  |
| 
   
LegacyBiosDefaultEntry 
 | 
  
   
UEFIBIOS 控制传统 BIOS 引导方式,当机器设为 UEFI 引导方式时选此项。对于 UEFI 开机方式,你可以指定启动硬盘,选择此项后 LegacyBiosDefaultEntry 子项激活,<0/1/2/3...> 硬盘编号,0 表示第一块硬盘 
 | 
 
Time
| 
   
参数 
 | 
  
   
功能 
 | 
 
| 
   
Timeout 
 | 
  
   
5 - 暂停时间;0 - 不使用 GUI图形界面,直接加载操作系统;-1 - 使用 GUI 图形界面,不自动加载操作系统 
 | 
 
Clover 引导器在加载一个操作系统前将暂停 5 秒,如果在这一段时间内按任意一键。则倒计时停止。
DefaultVolume
用来设置Clover默认加载引导卷 
| 
   
参数 
 | 
  
   
功能 
 | 
 
| 
   
DefaultVolume 
 | 
  |
| 
   
DefaultLoader 
 | 
  
2.3 Log,Fast,XMPDetection,NeverHibernaten
Log
如果你开机无法正常进入 Clover 你可以使用这个设置生成一个调试结果输出到 /EFI/CLOVER/misc/debug.log 文件,这个日志文件有助你分析出哪里出了问题 
| 
   
参数 
 | 
  
   
功能 
 | 
 
| 
   
Log 
 | 
  
   
在系统每次启动时保存日志文件 
 | 
 
警告!当它正在将日志文件写入磁盘时,打开日志将大大增加加载时间。因此在重启电脑前,要有足够的耐心等待。
Fast
| 
   
参数 
 | 
  
   
功能 
 | 
 
| 
   
Fast 
 | 
  
   
此参数类似于设置 Time=0, 
 | 
 
但有下区别:
nvarm.plist 文件只在设置后的第一次启动时被检测存储,后续开机则跳过检测,以加快开机速度。
此参数设置后有如下效果 
- 不侦测最佳显示模式
 - 不加在图形界面主题
 - 不扫描内存 SPD
 - 不能选择进入 GUI 图形界面
 
XMPDetection
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 休眠,指黑苹果休眠状态。 
- 白苹果设置 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 混合休眠,默认为笔记本电脑 - 黑苹果设置 Hibernate
     modes (休眠模式)
sudo pmset -a Hibernate modes 29
数值21也有成功的,其他数字需要进一步验证。 - 黑苹果 Hibernate modes(休眠模式)的使用
 - 系统菜单里点“睡眠”。一分钟后,系统将关闭所有.
 - 按电源键开机,这是看起来像普通的启动一样,进入 Clover 引导界面
 - 找卷名后面带 Hibernated 字样的图标,默认是倒计时进入启动的,或可以直接按回车启动。
 - 如要取消休眠唤醒,不想唤醒,按空格键并选择 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 
 | 
 
| 
   
DualLink 
 | 
  
   
0关闭,1启用,解决某些高分屏花屏、黑边问题 
 | 
 
| 
   
LoadVBios 
 | 
  
   
使用提取的显卡 rom 
 | 
 
| 
   
PatchVBios 
 | 
  
   
使得 Clover 在引导界面找到合适的分辨率 
 | 
 
Kernel and Kext Patches
Kernel
and Kext Patches
| 
   
参数 
 | 
  
   
功能 
 | 
 
| 
   
AppleRTC 
 | 
  
   
防止 cmos 重置和启动是出现的有关 AppleRTC 的错误 
 | 
 
| 
   
Asus
  AICPIPM 
 | 
  
   
AppleIntelCPUPowerManagement.kext patch 为华硕主板,其他主板未知 
 | 
 
| 
   
Debug 
 | 
  
   
Clover 启动调试,一般不启用 
 | 
 
| 
   
KernelCPU 
 | 
  
   
为特别的 CPU patch,如
  Atom,Ivy,Pentium4 
 | 
 
| 
   
KernelLAPIC 
 | 
  
   
HP 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 
 | 
 
评论
发表评论