admin 发表于 13/11/9 22:16:47

幸运草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

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文件功能说明


#文件名功能说明备注
1CsmVideoDxe-64.efi增强显卡在EFI模式下的兼容性源自Intel EFI规范,与分辨率的实现相关
2DataHubDxe-64.efiData Hub可抓取data集合成SMBios源自Intel EFI规范
2EmuVariableRuntimeDxe.efi针对某些 Phoenix UEFI 本本例如DELL Vostro,某些ThinkPad
3FSInject-64.efi为强制加载某些kext或注入提供支持kext patcher,如ATIConnectorInfo patch
4HFSPlus64.efi识别OSX分区OSX必备,与VBoxHfs.efi通用
5NTFS64.efi识别Win分区单碟多系统必备
6OsxAptioFixDrv-64.efi针对AMI Aptio UEFI 台式主板多见技嘉、华硕、华擎等,解决找不到内核问题
7OsxFatBinaryDrv-64.efi胖二进制,对多架构提供支持,
如OSX的boot.efiOSX必备,或称通用二进制Universal Binary
即Intel/PPC
8OsxLowMemFixDrv-64.efi针对 Insyde H2O UEFI 的本本修复低位内存问题
9PartitionDxe-64.efi提供对MBR、GPT等多分区表的支持源自Intel EFI规范
10Ps2MouseDxe-64.efiPS鼠标源自Intel EFI规范,待测试
11UsbMouseDxe-64.efiUSB鼠标源自Intel EFI规范,鼠标仍不可用
12VBoxExt2-64.efi识别Linux分区源自VBox,Ext4未能识别
13VBoxHfs.efi识别OSX分区源自VBox,GUI界面不显示HFS卷名
14XhciDxe-64.efiUSB3.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>




handsome_xiang 发表于 13/11/29 09:57:06

这么好的文章怎么没人看。谢谢管理员。学习了。

chinafei1 发表于 17/9/30 10:45:56

好文章值得收藏,谢谢分享
页: [1]
查看完整版本: 幸运草Clover引导UEFI纯GPT分区多系统