bolg: dr-von.top
制作好安装盘后,接下来的关键是引导安装Mac。
我用的方法是把clover放在U盘里直接引导安装的/我的clover是一位白果朋友帮我在Mac下专卖做的,引导安装出现的问题不多/
这里专门针对Clover&Clover Configurator的参数做下简介:
可以直接转这个网站学习
黑苹果引导工具 Clover 配置详解
部分转自链接
Clover 文件结构
BOOT:
ACPI: 存放DSDT.aml/SSDT.aml
CLOVERIA32.efi: 使用传统模式加载32位clover的主启动文件
CLOVERX64.efi: 使用传统模式加载64位clover的主启动文件
config.plist: clover配置文件,相当于变色龙的org.chameleon.boot.plist
doc: clover的帮助文档
drivers32: 使用传统模式加载32位clover.efi所需的驱动 (需验证)
drivers32UEFI: 使用传统模式加载32位clover.efi在模拟uefi环境下所需的驱动
drivers64: 使用传统模式加载64位clover.efi所需的驱动 (需验证)
drivers64UFI: 使用传统模式加载64位clover.efi在模拟uefi环境下所需的驱动
kexts: 使用kexts注入时,kext的存放位置
misc: 使用clover环境下的截图,提取dsdt.aml/ssdt.aml的存放位置
OEM: 分文件夹存放ACPI,config.plist等信息,及加载,实现单个U盘引导多个黑果平台
ROM: 显卡rom存放位置
themes: clover主题存放位置
tools: EFI Shell存放位置,放置用于进入shell环境的.efi,不可用于引导OSX,但可运行一些.efi程序
电脑启动过程:
bios引导: BIOS->boot0->boot1->BOOT->CLOVERIA32.efi->Apple’s
boot.efi->mach_kernel BIOS->boot0->boot1->BOOT->CLOVERX64.efi->Apple’s
boot.efi->mach_kernel UEFI BOOT: UEFI BIOS->CLOVERX64.efi->Apple’s
boot.efi->mach_kernel
ACPI
DSDT
DsdtName: dsdt.aml的名称
Debug
ReuseFFFF
SuspendOverride
SlpSsmiAtWake
Fix Display 修复显卡代码 (Yes/No, default: Yes)
Fix HPET 原生电源管理代码 (Yes/No, default: Yes)
Add DTGP 添加DTGP代码 (Yes/No, default: Yes)
Fix HDA 修复声卡代码 (Yes/No, default: Yes)
Add MCHC 添加MCHC代码 尚不清楚其具体作用 (Yes/No, default: No)
Fix LAN 修复网卡代码 经测试可修改网卡为内建 (Yes/No, default: Yes)
Fix Airport 修复Airport代码 无线网卡代码 (Yes/No, default: Yes)
Fix shutdown 修复关机断电代码 (Yes/No, default: Yes)
Fix USB 修复USB代码 包含EHCI代码(睡眠的关键)(Yes/No, default: Yes)
Fix Firewire 修复1394火线代码 (Yes/No, default: Yes)
Fix IDE 修复IDE代码 (Yes/No, default: No)
Fix SATA 修复SATA代码 经测试可修复“硬盘图标显示为橙黄色”问题 (Yes/No, default: No)
Fake LPC (Yes/No, default: No)
Fix SBUS (Yes/No, default: Yes)
Fix Darwin (Yes/No, default: Yes)
Fix IPIC 修复IPIC 尚不清楚其具体作用 (Yes/No, default: Yes)
DropTables
SSDT: 未知
HPET: 未知
ECDT: 未知
BGRT: 未知
MCFG: 未知
DMAR: 未知
APIC : 未知
SSDT
DoubleFirstState: (Yes/No, default: No) Ivy Bridge专用。ivy一般设为yes。依旧是cpu功耗有关。其他cpu可删。
DropOem 获取内建SSDT表单。clover可以自动获取,当然ssdt可放到EFI/OEM//ACPI/patched.
GenerateCStates: (Yes/No, default: No) 设为yes,开启c-state功能,修复启动时(ACPI_SMC_PlatformPlugin)
GeneratePStates: (Yes/No, default: No) 设为yes,开启p-state功能
PluginType 值为0,则使用ACPI_SMC_PlatformPlugin;值为1时用X86PlatformPlugin(for ivy)
PLimitDict: (Number, default: 0) 限制cpu频率。值0,1,2。0不开启。
UnderVoltStep: (Number, default: 0) 限制CPU功率,只针对core2,对i系列CPU无效。可设为0,1,2。
MinMultiplier 设置最小变频数(?)
MaxMultiplier 设置最大变频数(?)
XXXX
PatchAPIC (Yes/No, default: No) Fix NMI in APIC table. 在ACPI表单中NMI丢失时,mac启动可能五国,启动是要用CPUS=1。所以这个可以起到这个作用。没有这个问题的可以忽略。
smartUPS 若启用,则在系统概述的”电源“项中"UPS已安装“显示为”是“。只起修饰作用
Halt Enabler (Yes/No, default: No)
ResetAddress: (should be: 0x64) Restart address
ResetValue: (should be: 0xFE) Restart address
(以上两个值可保留,可删。如果你重启的时候有问题(重启不断电?),可按照FACP.aml中值更改。
获取该表单的最佳方法就是clover自带功能(按F2,呀,说啦好几遍啦~)。或用DarwinDumper勾选ACPI TABLE。这货DarwinDumper算是一个利器。)
BOOT
<key>Boot</key>
<dict>
<key>Timeout</key>
<integer>5</integer>
<key>Arguments</key>
<string>npci=0x2000</string>
<key>DefaultVolume</key>
<string>MacHDD</string>
<key>Log</key>
<false/>
<key>Fast</key>
<false/>
<key>XMPDetection</key>
<string>-1</string>
<key>Legacy</key>
<string>PBR</string>
</dict>
Arguments
verbose mode (-v) -V启动
arch=i386 此参数不适用于10.8原生内核
arch=x86_64
slide=0 (Needed for 10.8)
darkwake=0 (for setting the “Deep sleep” mode in Lion/ML):一些mac的机型有这个参数才能深度睡眠。
npci=0x2000 (PCI Configuration Fix)
npci=0x3000 (PCI Configuration Fix)
dart=0 :bios中开启VT-x/VT-d无法启动os 的可使用这个参数
kemel
Mkext
DefaultBootVolume 默认启动分区.其值可以是分区卷标名,分区的uuid.
FAT, hfs 可以直接用mac下显示的卷标名, ntfs 是clover引导界面显示的名称如Legacy HD*
磁盘工具中信息项可以查看到uuid值(通用唯一标识), 分区详细信息 (preboot.log中可以查看到)
Legacy 一般默认PBR
XMPDetection -1
Log (Yes/No, default: No) 调试日志,默认不开启,开启影响clover加载速度、
Fast (Yes/No, default: No)
CPU
FrequencyMHz 设置CPU频率 eg.3.3GHz -> 3300
BusSpeedkHz 设置主频。eg.133MHz -> 133330 100MHz -> 99790kHz
Latency
Type 设置CPU类型,数值可百度。eg.core i3 ->0x0901
QPI 设置CPU的QPI,数值可百度。eg.i3 2120->5000
C2 启用CPU的Turbo功能
C4 启用CPU的Turbo功能
C6 启用CPU的Turbo功能
DEVICES (旧PCI板块)
<key>Devices</key>
<dict>
<key>Inject</key>
<false/>
<key>Audio</key>
<dict>
<key>Inject</key>
<string>No</string>
</dict>
<key>FakeID</key>
<dict>
<key>ATI</key>
<string>0x0</string>
<key>IntelGFX</key>
<string>0x0</string>
<key>NVidia</key>
<string>0x0</string>
<key>SATA</key>
<string>0x0</string>
<key>WIFI</key>
<string>0x0</string>
<key>LAN</key>
<string>0x0</string>
<key>XHCI</key>
<string>0x0</string>
</dict>
<key>USB</key>
<dict>
<key>Inject</key>
<true/>
<key>FixOwnership</key>
<true/>
<key>AddClockID</key>
<true/>
</dict>
</dict>
<key>SystemParameters</key>
<dict>
<key>InjectSystemID</key>
<true/>
</dict>
FakeID 设备ID
Audio (Yes/No, default: No)
USB USB修正 (Yes/No, default: Yes)
Inject 使得usb键盘鼠标能唤醒os
FixOwnership 修复USB所有权问题在UEFI模式引导时
AddClockID 使得唤醒mac后,usb依旧正常工作
LpcTune 似乎未达到预期目标,作用不知,应该是有关LPC注入
DisableDrivers
DisableDrivers
CsmVideoDxe
VBoxExt4
这个主要是禁止EFI驱动作用。应该是试图进入mac后消除EFI驱动的影响。有待测试。
GUI
<key>GUI</key>
<dict>
<key>Hide</key>
<array>
<string>Windows</string>
<string>\EFI\BOOT\BOOTX64.EFI</string>
</array>
<key>Language</key>
<string>zh_CN:0</string>
<key>Mouse</key>
<dict>
<key>Enabled</key>
<false/>
<key>Speed</key>
<integer>0</integer>
</dict>
<key>Scan</key>
<dict>
<key>Entries</key>
<true/>
<key>Legacy</key>
<true/>
<key>Tool</key>
<true/>
</dict>
<key>TextOnly</key>
<false/>
<key>Theme</key>
<string>bluemac</string>
</dict>
Language 设置clover的界面语言
Hide 隐藏的分区
Theme clover的主题
Craphics
DualLink 0为关闭,1为启用。这个值开启可以解决某些高分屏花屏,黑边的问题。但某些卡必须设为0,否则进入mac可能见到4个桌面。(见到四个桌面当然也不一定是这个原因)
FBName FBname就是变色龙中ati config值,其值要和你修改FB使用参数对应
NVCAP display-cfg,N卡特有信息的.
VRAM 设置显卡的显存 eg.512MB->512
VideoPorts 定义了显卡的输出端口
Display-cfg 设置显卡的display-cfg数值
ig-platform-id 是特为hd4000或hd2500准备的
LoadVBios 使用提取的显卡rom,应该同chameleon。不过对于A卡移动版这个值可能要开启。A卡特有信息
PatchVBios 启用对开机扁平苹果logo的修复 默认NO
InjectEDID 注入自定的EDID
Injectintel 启用显卡自动识别功能 (Yes/No, default: Yes)
InjectATI 启用显卡自动识别功能 (Yes/No, default: No)
InjectNVidia 启用显卡自动识别功能 (Yes/No, default: No)
KernelAndKextPatches
AppleRTC 启用修复AppleRTC.kext重置bios功能 (Yes/No, default: Yes)
AsusAICPUPM 启用修复AICPM无法加载的问题 (Yes/No, default: Yes)
Debug 启用debug (Yes/No, default: No)
KernelCpu 启用修复内核不支持的CPU的功能 如Atom, Pentium 4 (Yes/No, default: No)
KernelLapic:在v1731版本后加入 LAPIC kernel panic for HP notebook修复功能。使得hp笔记本启动无需输入cpu=1的启动参数。
ATIConnectorsController 定义要修改的驱动名字,规则如下:
6系列的Connectors就要在ATIConnectorsController定义6000
7系列的Connectors就要在ATIConnectorsController定义7000
5系列的Connectors就要在ATIConnectorsController定义5000
ATIConnectorsData 定义要修改的原始数据
ATIConnectorsPatch 为修改后适合你的显卡的参数
KextsToPatch
<key>KextsToPatch</key>
<array><key>0</key>
<dict>
<key>Name</key>
<string>VoodooHDA</string>
<key>Find</key>
<data>SGVhZHBob25lcwA=</data>
<key>Replace</key>
<data>VGVsZXBob25lcwA=</data>
</dict>
</array>
RtVariables
<key>RtVariables</key>
<dict>
<key>MountEFI</key>
<true/>
<key>LogLineCount</key>
<integer>3000</integer>
<key>LogEveryBoot</key>
<string>10</string>
</dict>
LogEveryBoot 启用每次启动的纪录
LogLineCount 日志文件的总行数
MountEFI 开机加载efi分区
ROM 参数值为十二位十六进制。这个参数一般会从smbios中获取。一般不管。此项设置有关网卡的mac地址。既反映此值可随机。
MLB:和主板 serial number相关,17位数。其设置无别规则。最好的设置是sm+五个随机数,12位系列号加5个数随你选择。在以前可解决imessage登入后重启退出无法再次登入的的问题。现在加这个不知道有什么特别的意思。
SMBIOS
默认不设置,clover,它会自动设置认为合适你电脑配置的机型信息.如果你要设置特定的机型信息.
BiosReleaseDate bios发布日期 02/29/08
BiosVendor bios提供商 Apple Computer, Inc.
BiosVersion MP31.88Z.006C.B05.0802291410
Board-ID Mac-F42C88C8
BoardManufacturer 主板提供商 Apple Computer, Inc.
BoardSerialNumber 设置处理器托架的序列号
BoardType 11
BoardVersion 1.0
ChassisManufacturer 机箱提供商 Apple Computer, Inc.
ChassisAssetTag Pro-Enclosure
ChassisType 6
Family Mac Pro
Manufacturer 整机制造商 Apple Computer, Inc.
ProductName MacPro3,1
SerialNumber 4H629LYAU9C
SmUUID 格式应为00000000-0000-1000-8000-xxxxxxxxxxxx “xxxxxxxxxxxx”为你的网卡MAC值
Version 应为1.0
Mobile 若为移动平台,请设为yes
Trust 和内置定义的smbios table挂钩,如果你的内存侦测存在问题请设置为NO试试
Memory
Channels 为通道数。一般旧主板是双通道,即数值为2
SlotCount 插槽数,最大可支持24个插槽。
Size: 内存大小。通用有:512,1024,2048,4096.可整型,可字符型
Frequency: 内存频率。常用800,1300,1600
Type: 插槽位置,值可为整型,也可字符型.值0~24.Type:内存条类型,有DDR2,DDR3,DDR
Vendor: 制造商,如Corsair
SystemParameters
SystemParameters
BacklightLevel //笔记本背景亮度调节,0xFFFF是最亮的,默认值0x0501,台式机可忽略
0xffff
CustomUUID //定制系统信息中的硬件UUID
InjectKexts //启用自动注入UUID功能 注:可能导致每次开机的UUID千变万化
InjectSystemID
Clover的关键是配置config
这里给出一个模板,然后根据自己的电脑配置自己修改
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ACPI</key>
<dict>
<key>DSDT</key>
<dict>
<key>Debug</key>
<false/>
<key>Fixes</key>
<dict>
<key>AddDTGP_0001</key>
<false/>
<key>AddHDMI_8000000</key>
<false/>
<key>AddIMEI_80000</key>
<false/>
<key>AddMCHC_0008</key>
<false/>
<key>AddPNLF_1000000</key>
<false/>
<key>DeleteUnused_400000</key>
<false/>
<key>FIX_ACST_4000000</key>
<false/>
<key>FIX_ADP1_800000</key>
<false/>
<key>FIX_INTELGFX_100000</key>
<false/>
<key>FIX_RTC_20000</key>
<false/>
<key>FIX_S3D_2000000</key>
<false/>
<key>FIX_TMR_40000</key>
<false/>
<key>FIX_WAK_200000</key>
<false/>
<key>FakeLPC_0020</key>
<false/>
<key>FixAirport_4000</key>
<false/>
<key>FixDarwin_0002</key>
<false/>
<key>FixDisplay_0100</key>
<false/>
<key>FixFirewire_0800</key>
<false/>
<key>FixHDA_8000</key>
<false/>
<key>FixHPET_0010</key>
<false/>
<key>FixIDE_0200</key>
<false/>
<key>FixIPIC_0040</key>
<false/>
<key>FixLAN_2000</key>
<false/>
<key>FixRegions_10000000</key>
<false/>
<key>FixSATA_0400</key>
<false/>
<key>FixSBUS_0080</key>
<false/>
<key>FixShutdown_0004</key>
<false/>
<key>FixUSB_1000</key>
<false/>
<key>NewWay_80000000</key>
<false/>
</dict>
<key>Name</key>
<string>DSDT.aml</string>
<key>ReuseFFFF</key>
<false/>
</dict>
</dict>
<key>Boot</key>
<dict>
<key>Arguments</key>
<string></string>
</dict>
<key>Devices</key>
<dict>
<key>FakeID</key>
<dict>
<key>ATI</key>
<string>0x0000</string>
<key>IMEI</key>
<string>0x0000</string>
<key>IntelGFX</key>
<string>0x0000</string>
<key>LAN</key>
<string>0x0000</string>
<key>NVidia</key>
<string>0x0000</string>
<key>SATA</key>
<string>0x0000</string>
<key>WIFI</key>
<string>0x0000</string>
<key>XHCI</key>
<string>0x0000</string>
</dict>
<key>USB</key>
<dict>
<key>AddClockID</key>
<false/>
<key>FixOwnership</key>
<false/>
<key>HighCurrent</key>
<false/>
<key>Inject</key>
<false/>
</dict>
</dict>
<key>GUI</key>
<dict>
<key>Scan</key>
<true/>
<key>Theme</key>
<string>black_green</string>
</dict>
<key>Graphics</key>
<dict>
<key>CustomEDID</key>
<string>_NOT_SHOWN_</string>
<key>DualLink</key>
<integer>1</integer>
<key>Inject</key>
<dict>
<key>ATI</key>
<false/>
<key>Intel</key>
<false/>
<key>NVidia</key>
<false/>
</dict>
<key>InjectEDID</key>
<false/>
<key>LoadVBios</key>
<false/>
<key>PatchVBios</key>
<false/>
<key>ig-platform-id</key>
<string>0x0000</string>
</dict>
<key>KernelAndKextPatches</key>
<dict>
<key>AppleRTC</key>
<false/>
<key>AsusAICPUPM</key>
<false/>
<key>Debug</key>
<false/>
<key>KernelCpu</key>
<false/>
<key>KernelLapic</key>
<false/>
<key>KernelPm</key>
<false/>
<key>KextPatchesAllowed</key>
<true/>
<key>KextsToPatch</key>
<array/>
</dict>
</dict>
</plist>