概述

Clover 版本:Clover v5.1 r5143(含 ISO 版、PKG 版、单文件版,全文件 V2 版以及 config 验证工具)

版本发布时间:2021年12月26日

「注意」

  • 从 r5120 版开始,Clover 移植了 OpenCore 的 OcQuirks.efi 以及 OpenRuntime.efi 用以替换原有的内存修复程序(AptioMemoryFix.efi),所以 r5120 以下版本不能通过简单替换文件升级;因上面的原因,Clover 文件树新增了 OcQuirks 选项,需要 Clover Configurator 5.16.0.0 及以上版本方能适配;
  • Clover 自 r5122 开始正式集成了 OpenCore 内核,版本号 0.6.3,经实测可以正常安装和升级 macOS 11.0 Big Sur;
  • Clover 自 r5137 版开始已支持 macOS 12 Monterey ;
  • Clover 自 r5140 版升级了集成的 OpenCore 内核,新版本号 0.7.3,实测可以正常安装 macOS 12.0.1 Monterey;
  • Clover 自 r5142 版升级了集成的 OpenCore 内核,新版本号 0.7.5;

 

Clover

Clover(也叫四叶草)是操作系统引导加载程序,用于已经装有(U)EFI固件的计算机和装有旧版BIOS固件的计算机。操作系统(OS)可能支持(U)EFI(macOS,Windows 7、8或10,Linux)或者不支持(U)EFI(Windows XP)。传统legacy引导通常用于最后一个操作系统引导,即Windows XP。

Clover EFI Bootloader v5.1 r5143 四叶草黑苹果引导程序

(U)EFI不仅在操作系统引导期间存在,而且还会创建可供操作系统访问的表和服务,并且操作系统的可操作性取决于(U)EFI的正确功能。macOS是无法从普通主板内置的UEFI引导的,也无法使用原始DUET固件仿真来启动macOS。CloverEFI固件仿真和CloverGUI负责处理大量任务,以更正内部表并提供运行macOS的可能性。

 

(U)EFI

统一可扩展固件接口(Unified Extensible Firmware Interface)或(U)EFI是操作系统和平台固件之间的软件接口。与占用64kb空间并使用16位处理器模式的传统BIOS固件相比,(U)EFI是32位或64位的,允许使用全部内存,并且理论上将其自身定位为与平台无关的。但是现实中不可能与所有平台完全兼容。

 

macOS

Mac OS是一套运行于苹果Macintosh系列电脑上的基于Unix内核的图形化操作系统,由苹果自行开发。Mac OS是首个在商用领域成功的图形用户界面操作系统。2011年7月20日Mac OS X已经正式被苹果改名为OS X。2016年,OS X改名为macOS,与iOS,tvOS,watchOS相照应。截止本文,最新版本为macOS 11.0 Big Sur,于2020年6月发布。

 

Clover所解决的macOS引导问题

  • 普通PC是无法安装macOS系统的,但是通过使用Clover EFI BootLoader可以做到这一点。
  • Clover向SMBIOS(DMI)填充模拟真实Apple Macintosh的数据——这是运行macOS的基本要求。序列号是伪造的,但有效。
  • PC ROM中包含的ACPI表通常未正确编写,并且可能包含错误,主要是由于制造商比较懒:APIC表中的CPU核心计数不正确,NMI数据丢失,表FACP中的复位寄存器丢失,电源配置文件错误,SSDT表中缺少EIST数据,以及乱七八糟的DSDT表,Clover试图解决这些问题。
  • OS X更进一步尝试通过EFI字符串从引导加载程序获取描述其他设备(如视频,以太网或声卡)的数据。Clover能生成此类数据。
  • 基于BIOS的计算机在初始引导过程中将以旧模式使用USB,这在将控制权传递给OS时成为问题。Clover将更改USB模式。
  • macOS使用称为NVRAM的特殊内存进行信息交换,该内存包含在RuntimeServices中(旧式加载器中不提供)。Clover提供了这种信息交换,从而启用了正确的Firewire功能并使用了Startup Disk首选项面板。此外,NVRAM还用于注册iCloud和iMessage服务。
  • ConsoleControl协议是必需的,并且在DUET中不存在。
  • 有必要通过DataHub协议在EFI / Platform中填充某些数据,该协议在DUET中不存在,在UEFI中并不总是存在。此外,设置了非常重要的FSBFrequency值,该值有时是错误的或完全没有。
  • 在工作之前必须正确初始化CPU,但是由于主板通常可以匹配大量不同型号的CPU,因此内部表中不包含任何正确的CPU数据。Clover对已安装的CPU进行全面检测,更正表和CPU本身,使得CPU可以正确开启睿频模式。
  • DUET和EDK2源代码是通用编写的,以匹配不同的硬件,但是硬件依赖性本身取决于常量。这意味着针对一个特定平台的编译过程。Clover的目标是普及并提供自动平台检测。

Clover EFI Bootloader v5.1 r5143 四叶草黑苹果引导程序

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。