幸运草Clover引导UEFI纯GPT分区多系统
本文特备一份手工安装版 Clover UEFI:
http://pan.baidu.com/share/link?shareid=106771&uk=2217682316
0)搜刮必备EFI Drivers,内附详尽config.plist实测可用样例,可依此修改以适合个人使用情况
1)其中包括一个U盘版(以857为基础),默认MBP8,1,-v,倒计时30s,有10.7及10.8的必备kexts
2)U盘版既可在开机启动菜单中用 UEFI:USB 引导方式,亦可通过EFI bios的“从存储设备开启EFI Shell”实现引导
3)还有一个EFI硬盘分区版(以883为基础),默认MacPro5,1,不进入啰唆模式,倒计时5s,不带kexts
4)注意MacPro5,1机型需要将SLE中的AppleTyMCEDriver.kext移除,或自行用config.mpb81.plist替换即可
5)EFI硬盘版复制到EFI分区后,需从EFI bios中选择对应硬盘型号的 Windows Boot Manager 实现引导
6)直接拷贝即可生效,亦可方便自行调整,无需再像变色龙+MBR那样用命令行写入boot0、boot1h
Clover的升级
关于后续Clover版本在UEFI环境中的更新:
1)Fat32 U盘经测试可在安装器中选择作为安装位置,升级后原EFI目录自动更名EFI-Backups留底,config.plist不会重置
2)手工挂载的EFI分区不能在安装器中识别到,只能先安装至U盘或OSX分区,再自行拷贝EFI目录或个别文件进行更新。
一、了解Clover
幸运草发布近一年半时间,本身兼具传统BIOS与UEFI双重引导方式,
加上当前主板普遍采用UEFI固件,为何一直未能取代变色龙的地位?从它的发布形式可见一斑:
1)安装包:引导部分由于需要兼顾BIOS与UEFI,造成艰涩复杂的景象;EFI Drivers部分没有具体说明,
必备drivers需另行下载,进一步阻挡新手用户。用于识别HFS格式的driver居然没有内置,而是作为论坛附件另行发布。
事后了解到,是由于受HFS跟NTFS文件系统格式版权限制,相关efi drivers无法打包在开源项目中,唯有单独提供下载。
2)引导光盘:
采用非OSX默认兼容的lzma压缩形式,可通过命令行工具解压,或更改后缀名为.7z后用Rar-7zExtractor等GUI工具解压;
光盘为hfs+格式,内附驱动比安装包还要少,也没有专设UEFI驱动的存放位置,不建议在UEFI引导的情况下使用。
slice的项目页面1:http://www.applelife.ru/threads/clover.32052/
slice的项目页面2:http://www.projectosx.com/forum/index.php?showtopic=2304
ErmaC的项目页面:http://www.insanelymac.com/forum/topic/282787-clover-v2/
dmazar的折腾页面:http://www.projectosx.com/forum/index.php?showtopic=2428
下载页面1(更新较及时):http://sourceforge.net/projects/cloverefiboot/files/Installer/
下载页面2(版本较齐备):http://clover.inmac.org
osx86.net推广:http://www.osx86.net/guides-tutorials/19291-guide-clover-efi-bootloader.html
1)ACPI:放置DSDT.aml、ssdt.aml等
2)bak:个人为测试筛选drivers而新建,里面放置有备用的.efi文件
3)BOOT:BOOTX64.efi,为CLOVERX64.efi改名而来,font外挂字体,refit.conf启动菜单配置文件,themes为主题
4)config.plist:OSX启动配置文件,可视作org.Chameleon.Boot.plist与SMBios.plist的合体
5)doc:boot1f32安装脚本(UEFI可忽略),启动配置示例,修复DSDT说明,通过InstallESD.dmg安装OSX说明,
Clover安装说明(UEFI可忽略),实现UEFI启动说明(有参考价值,但稍显简略)
6)drivers64UEFI:放置 rEFIt 启动时加载的 .efi drivers,某些关乎到OSX能否引导成功,如OsxAptioFixDrv-64.efi
7)kexts:分类放置不同版本OSX的第三方kexts
8)misc:放置启动界面F10截图、系统启动记录system.log(Debug开启时)、preboot.log(GUI中按F2)等
9)OEM:按主板或本本型号放置多份 ACPI、kexts 及 ROM,实现单个U盘引导多个黑果平台
10)ROM:放置显卡BIOS等
11)tools:放置用于进入shell环境的.efi,不可用于引导OSX,但可运行一些.efi程序
注1:
a)CSM 即 Compatibility Support Module 兼容支持模块,使仍采用bios架构设计的硬件如声卡显卡可更好工作在EFI下
b)DXE 即 Driver Execution Environment 驱动执行环境,与硬件层进行直接交互。其包括了CSM。
注2:
1)备注里标明OSX必备的两个.efi为黑果基本搭配,文件名加粗的则为单碟多系统最小搭配。
2)FSInject-64.efi在实现某些功能时需要用到,声卡、网卡的注入可能均与此相关。
3)EmuVariableRuntimeDxe.efi、OsxAptioFixDrv-64.efi、OsxLowMemFixDrv-64.efi 三者,
未能确定主板UEFI类别的,先尝试OsxLowMemFixDrv-64.efi,再尝试OsxAptioFixDrv-64.efi,
最后尝试OsxAptioFixDrv-64.efi 并搭配 EmuVariableRuntimeDxe.efi。
1)启动参数:实测此参数可同时兼容Lion安装及运行,亦可通过 boot-args= 进行手工加载(未经实测)
a)ML必备slide=0,亦是Aptio必备,让boot.efi不使内核随机滑动至其他内存地址(据说与安全性有关),
而是固定加载至标准的0x10.0000地址,加载AptioFix后只认该地址;非Aptio主板使用非ML的OSX,可省去slide=0
b)x86_64 确保以64位启动,ML对其依赖不大,应只针对如Lion等早期版本;
c)去掉-v后仍可敲空格键显示启动选项,从而手动进入verbose模式;
d)可加入 WithKexts 参数,从而免除手动选择Boot Mac OS X with extra kexts (skips cache),
配合FSInject.efi及/EFI/kexts/10.X/*.kext起作用,目的是启动时加载第三方kexts,同时跳过内核缓存
2)凡是删除NullCPUPM后,仍不能用原版AICPUPM的都可以加入下述参数,无需再打补丁:
3)预设语言:OSX安装阶段,可跳过语言选择直抵安装界面;用变色龙引导安装的OSX不受此项影响
4)UEFI引导的Clover不再需要Legacy Boot,此两行代码可删除,必要时可通过UFEI bios的启动菜单返回变色龙引导:
5)隐藏引导时不需要的分区,使GUI显得更清爽
a)隐藏EFI分区,VolumesString可从/EFI/misc/的预启动记录preboot.log或OSX根目录boot.log处获得
b)HideAllLegacy设为Yes,可隐藏所有传统MBR启动的分区,避免与GPT分区产生重叠
6)Debug参数一开,ML默认无法启动,原因待查,与/EFI/misc/system.log文件的生成有关
7)显卡注入,与变色龙的GE=Yes同理同功
8)以下为MacPro5,1的SMBios部分:
9)以下为MacBookPro8,1的SMBios部分:
http://pan.baidu.com/share/link?shareid=106771&uk=2217682316
0)搜刮必备EFI Drivers,内附详尽config.plist实测可用样例,可依此修改以适合个人使用情况
1)其中包括一个U盘版(以857为基础),默认MBP8,1,-v,倒计时30s,有10.7及10.8的必备kexts
2)U盘版既可在开机启动菜单中用 UEFI:USB 引导方式,亦可通过EFI bios的“从存储设备开启EFI Shell”实现引导
3)还有一个EFI硬盘分区版(以883为基础),默认MacPro5,1,不进入啰唆模式,倒计时5s,不带kexts
4)注意MacPro5,1机型需要将SLE中的AppleTyMCEDriver.kext移除,或自行用config.mpb81.plist替换即可
5)EFI硬盘版复制到EFI分区后,需从EFI bios中选择对应硬盘型号的 Windows Boot Manager 实现引导
6)直接拷贝即可生效,亦可方便自行调整,无需再像变色龙+MBR那样用命令行写入boot0、boot1h
Clover的升级
关于后续Clover版本在UEFI环境中的更新:
1)Fat32 U盘经测试可在安装器中选择作为安装位置,升级后原EFI目录自动更名EFI-Backups留底,config.plist不会重置
2)手工挂载的EFI分区不能在安装器中识别到,只能先安装至U盘或OSX分区,再自行拷贝EFI目录或个别文件进行更新。
一、了解Clover
1、发布形式
幸运草发布近一年半时间,本身兼具传统BIOS与UEFI双重引导方式,
加上当前主板普遍采用UEFI固件,为何一直未能取代变色龙的地位?从它的发布形式可见一斑:
1)安装包:引导部分由于需要兼顾BIOS与UEFI,造成艰涩复杂的景象;EFI Drivers部分没有具体说明,
必备drivers需另行下载,进一步阻挡新手用户。用于识别HFS格式的driver居然没有内置,而是作为论坛附件另行发布。
事后了解到,是由于受HFS跟NTFS文件系统格式版权限制,相关efi drivers无法打包在开源项目中,唯有单独提供下载。
2)引导光盘:
采用非OSX默认兼容的lzma压缩形式,可通过命令行工具解压,或更改后缀名为.7z后用Rar-7zExtractor等GUI工具解压;
光盘为hfs+格式,内附驱动比安装包还要少,也没有专设UEFI驱动的存放位置,不建议在UEFI引导的情况下使用。
slice的项目页面1:http://www.applelife.ru/threads/clover.32052/
slice的项目页面2:http://www.projectosx.com/forum/index.php?showtopic=2304
ErmaC的项目页面:http://www.insanelymac.com/forum/topic/282787-clover-v2/
dmazar的折腾页面:http://www.projectosx.com/forum/index.php?showtopic=2428
下载页面1(更新较及时):http://sourceforge.net/projects/cloverefiboot/files/Installer/
下载页面2(版本较齐备):http://clover.inmac.org
osx86.net推广:http://www.osx86.net/guides-tutorials/19291-guide-clover-efi-bootloader.html
2、EFI目录内文件夹说明
1)ACPI:放置DSDT.aml、ssdt.aml等
2)bak:个人为测试筛选drivers而新建,里面放置有备用的.efi文件
3)BOOT:BOOTX64.efi,为CLOVERX64.efi改名而来,font外挂字体,refit.conf启动菜单配置文件,themes为主题
4)config.plist:OSX启动配置文件,可视作org.Chameleon.Boot.plist与SMBios.plist的合体
5)doc:boot1f32安装脚本(UEFI可忽略),启动配置示例,修复DSDT说明,通过InstallESD.dmg安装OSX说明,
Clover安装说明(UEFI可忽略),实现UEFI启动说明(有参考价值,但稍显简略)
6)drivers64UEFI:放置 rEFIt 启动时加载的 .efi drivers,某些关乎到OSX能否引导成功,如OsxAptioFixDrv-64.efi
7)kexts:分类放置不同版本OSX的第三方kexts
8)misc:放置启动界面F10截图、系统启动记录system.log(Debug开启时)、preboot.log(GUI中按F2)等
9)OEM:按主板或本本型号放置多份 ACPI、kexts 及 ROM,实现单个U盘引导多个黑果平台
10)ROM:放置显卡BIOS等
11)tools:放置用于进入shell环境的.efi,不可用于引导OSX,但可运行一些.efi程序
3、drivers64UEFI文件功能说明
# | 文件名 | 功能说明 | 备注 |
1 | CsmVideoDxe-64.efi | 增强显卡在EFI模式下的兼容性 | 源自Intel EFI规范,与分辨率的实现相关 |
2 | DataHubDxe-64.efi | Data Hub可抓取data集合成SMBios | 源自Intel EFI规范 |
2 | EmuVariableRuntimeDxe.efi | 针对某些 Phoenix UEFI 本本 | 例如DELL Vostro,某些ThinkPad |
3 | FSInject-64.efi | 为强制加载某些kext或注入提供支持 | kext patcher,如ATIConnectorInfo patch |
4 | HFSPlus64.efi | 识别OSX分区 | OSX必备,与VBoxHfs.efi通用 |
5 | NTFS64.efi | 识别Win分区 | 单碟多系统必备 |
6 | OsxAptioFixDrv-64.efi | 针对AMI Aptio UEFI 台式主板多见 | 技嘉、华硕、华擎等,解决找不到内核问题 |
7 | OsxFatBinaryDrv-64.efi | 胖二进制,对多架构提供支持, 如OSX的boot.efi | OSX必备,或称通用二进制Universal Binary 即Intel/PPC |
8 | OsxLowMemFixDrv-64.efi | 针对 Insyde H2O UEFI 的本本 | 修复低位内存问题 |
9 | PartitionDxe-64.efi | 提供对MBR、GPT等多分区表的支持 | 源自Intel EFI规范 |
10 | Ps2MouseDxe-64.efi | PS鼠标 | 源自Intel EFI规范,待测试 |
11 | UsbMouseDxe-64.efi | USB鼠标 | 源自Intel EFI规范,鼠标仍不可用 |
12 | VBoxExt2-64.efi | 识别Linux分区 | 源自VBox,Ext4未能识别 |
13 | VBoxHfs.efi | 识别OSX分区 | 源自VBox,GUI界面不显示HFS卷名 |
14 | XhciDxe-64.efi | USB3.0支持 | USB2.0的情况正常,据说NEC Reneas勿选 |
注1:
a)CSM 即 Compatibility Support Module 兼容支持模块,使仍采用bios架构设计的硬件如声卡显卡可更好工作在EFI下
b)DXE 即 Driver Execution Environment 驱动执行环境,与硬件层进行直接交互。其包括了CSM。
注2:
1)备注里标明OSX必备的两个.efi为黑果基本搭配,文件名加粗的则为单碟多系统最小搭配。
2)FSInject-64.efi在实现某些功能时需要用到,声卡、网卡的注入可能均与此相关。
3)EmuVariableRuntimeDxe.efi、OsxAptioFixDrv-64.efi、OsxLowMemFixDrv-64.efi 三者,
未能确定主板UEFI类别的,先尝试OsxLowMemFixDrv-64.efi,再尝试OsxAptioFixDrv-64.efi,
最后尝试OsxAptioFixDrv-64.efi 并搭配 EmuVariableRuntimeDxe.efi。
4、config.plist配置
1)启动参数:实测此参数可同时兼容Lion安装及运行,亦可通过 boot-args= 进行手工加载(未经实测)
a)ML必备slide=0,亦是Aptio必备,让boot.efi不使内核随机滑动至其他内存地址(据说与安全性有关),
而是固定加载至标准的0x10.0000地址,加载AptioFix后只认该地址;非Aptio主板使用非ML的OSX,可省去slide=0
b)x86_64 确保以64位启动,ML对其依赖不大,应只针对如Lion等早期版本;
c)去掉-v后仍可敲空格键显示启动选项,从而手动进入verbose模式;
d)可加入 WithKexts 参数,从而免除手动选择Boot Mac OS X with extra kexts (skips cache),
配合FSInject.efi及/EFI/kexts/10.X/*.kext起作用,目的是启动时加载第三方kexts,同时跳过内核缓存
- <key>boot-args</key>
- <string>-v arch=x86_64 slide=0</string>
2)凡是删除NullCPUPM后,仍不能用原版AICPUPM的都可以加入下述参数,无需再打补丁:
- <key>AsusAICPUPM</key>
- <string>Yes</string>
3)预设语言:OSX安装阶段,可跳过语言选择直抵安装界面;用变色龙引导安装的OSX不受此项影响
- <key>prev-lang:kbd</key>
- <string>zh_CN:0</string>
4)UEFI引导的Clover不再需要Legacy Boot,此两行代码可删除,必要时可通过UFEI bios的启动菜单返回变色龙引导:
- <key>LegacyBoot</key>
- <string>PBR</string>
5)隐藏引导时不需要的分区,使GUI显得更清爽
a)隐藏EFI分区,VolumesString可从/EFI/misc/的预启动记录preboot.log或OSX根目录boot.log处获得
b)HideAllLegacy设为Yes,可隐藏所有传统MBR启动的分区,避免与GPT分区产生重叠
- <key>Volumes</key>
- <dict>
- <key>HideVolumes</key>
- <dict>
- <key>0</key>
- <dict>
- <key>VolumeString</key>
- <string>HD(1,GPT,332942e3-3c52-4129-be00-53fd42cf6f78,0x28,0x64000)</string>
- </dict>
- </dict>
- <key>HideAllLegacy</key>
- <string>Yes</string>
- </dict>
6)Debug参数一开,ML默认无法启动,原因待查,与/EFI/misc/system.log文件的生成有关
- <key>Debug</key><string>No</string>
7)显卡注入,与变色龙的GE=Yes同理同功
- <key>GraphicsInjector</key>
- <string>Yes</string>
8)以下为MacPro5,1的SMBios部分:
- <key>SMBIOS</key>
- <dict>
- <key>BiosVendor</key>
- <string>Apple Inc.</string>
- <key>BiosVersion</key>
- <string>MP51.88Z.007F.B03.1010071432</string>
- <key>BiosReleaseDate</key>
- <string>10/07/10</string>
- <key>Manufacturer</key>
- <string>Apple Inc.</string>
- <key>ProductName</key>
- <string>MacPro5,1</string>
- <key>Version</key>
- <string>1.0</string>
- <key>Family</key>
- <string>Mac Pro</string>
- <key>SerialNumber</key>
- <string>CK2221B8EUH</string>
- <key>BoardManufacturer</key>
- <string>Apple Inc.</string>
- <key>Board-ID</key>
- <string>Mac-F221BEC8</string>
- <key>ClassisManufacturer</key>
- <string>Apple Inc.</string>
- </dict>
9)以下为MacBookPro8,1的SMBios部分:
- <key>SMBIOS</key>
- <dict>
- <key>BiosVendor</key>
- <string>Apple Inc.</string>
- <key>BiosVersion</key>
- <string>MBP81.88Z.0047.B0E.1104221557</string>
- <key>BiosReleaseDate</key>
- <string>04/22/11</string>
- <key>Manufacturer</key>
- <string>Apple Inc.</string>
- <key>ProductName</key>
- <string>MacBookPro8,1</string>
- <key>Version</key>
- <string>1.0</string>
- <key>Family</key>
- <string>MacBook Pro</string>
- <key>SerialNumber</key>
- <string>C02H8456DH2G</string>
- <key>BoardManufacturer</key>
- <string>Apple Inc.</string>
- <key>Board-ID</key>
- <string>Mac-94245B3640C91C81</string>
- <key>ClassisManufacturer</key>
- <string>Apple Inc.</string>
- </dict>