Clover 文件树说明

介绍一下 Clover 的基本文件结构,请注意这里以 Clover r5100及以上版本用 UEFI 引导为例

EFI
 ├── BOOT
 │    └── BOOTX64.efi
 └── CLOVER
      ├── ACPI
      │    ├── origin
      │    ├── WINDOWS
      │    └── patched
      │          └── SSDT.aml
      ├── drivers
      │    ├── BIOS
      │    ├── off
      │    └── UEFI
      │         ├── ApfsDriverLoader.efi
      │         ├── AudioDxe.efi
      │         ├── HfsPlus.efi
      │         ├── EmuVariableUefi.efi
      │         └── OsxAptioFixDrv.efi
      ├── kexts
      │    ├── 10.12
      │    ├── ...
      │    ├── 10.15
      │    ├── Off
      │    └── Other
      │         ├── Lilu.kext
      │         ├── VirtualSMC.kext
      │         ├── ......
      │         ├── AppleALC.kext
      │         └── WhateverGreen.kext
      ├── CLOVERX64.efi
      ├── config.plist
      ├── themes
      ├── misc
      ├── doc
      ├── OEM
      │    └── SystemProductName
      ├── ROM
      └── Tools
           ├── Shell32.efi
           ├── ......
           └── Shell64.efi

以下 Clover EFI 文件夹大部分时间是用不上的,也不是必须的目录,可以删除:

/EFI/Clover/doc      #这是 Clover 说明文档目录。
/EFI/Clover/OEM      #分别存放不同的 ACPI、config.plist 等文件。用以实现单个分区引导多个黑苹果系统。
/EFI/Clover/ROM      #保存提取到的显卡ROM文件,可在 Windows 下用 GPU-z 代替。
/EFI/Clover/misc     #存放Clover截图文件

以下文件和目录是必须的:

/EFI/BOOT/BOOTX64.efi            #主引导文件
/EFI/Clover/CLOVERX64.efi        #64位Clover主启动文件
/EFI/Clover/config.plist         #Clover的配置文件
/EFI/Clover/drivers/UEFI/*.efi   #UEFI模式加载64位Clover所需要的efi文件
/EFI/Clover/kexts/Other/*.kext   #Clover需要注入加载的kext文件

其中 BOOTx64.efi 和 CLOVERX64.efi 其实是同一个文件,config.plist 是 Clover 的参数配置文件,以上三个文件都是必须的,前者主要负责引导工作,后者保存和应用 Clover 的配置选项;

接下来主要介绍 /EFI/Clover/drivers/UEFI/ 目录下的 efi 文件。

Apfs.efi                #用于载入苹果最新的APFS文件系统容器,只有一个macOS可以使用ApfsDriverLoader.efi代替

ApfsDriverLoader.efi    #用于支持APFS文件系统容器,macOS 10.14起必须

AppleImageCodec.efi     #用于FileVault2解码PNG/BMP文件

AppleKeyAggregator.efi  #支持FileVault2启动用户界面对话

AppleKeyFeeder.efi      #支持FileVault2使用PS/2接口键盘

AppleUITheme.efi        #创建FileVault2启动用户界面主题支持

AptioInputFix.efi       #为使用AMI UEFI BIOS的主板提供FileVault2键盘驱动

AudioDxe.efi            #HDA驱动,用于启动时播放声音功能

CsmVideoDxe.efi         #64位视频驱动,为Clover引导界面提供更多可用分辨率。这个驱动基于CSM模块,要求BIOS中的CSM开启。但在某些硬件配置上可能导致Clover启动失败,或在休眠唤醒后造成Kernel Panic。

DataHubDxe.efi          #为macOS必需的数据集线器协议支持。一般来说Clover默认会自带。

EmuVariableUefi.efi     #用于在没有原生NVRAM支持的主板上模拟NVRAM。macOS使用NVRAM存储部分设置和数据,涉及iMessage、FaceTime等

EnglishDxe.efi          #用于UEFI中没有UnicodeCollation协议时支持efi shell

Fat.efi                 #FAT文件系统驱动,无法正常读取FAT磁盘时使用

FirmwareVolume.efi      #使用filevault2的光标图像创建固件卷

FSInject.efi            #为Clover文件夹中的内核扩展(kext)提供注入

HashServiceFix.efi      #修复UEFI BIOS中不存在的哈希支持(如果没有)

HiiDatabase.efi         #用于支持UEFI字体渲染, UEFI Shell中文字渲染异常时使用,第四代酷睿及以上一般不需要
 
HFSPlus.efi             #EFI文件系统驱动,用于支持HFS+

NTFS.efi                #NTFS文件系统驱动

MemoryAllocation.efi    #作用是为系统内核和缓存等空出第一个512MB内存,需要搭配AptioMeomoryFix.efi使用,如果使用休眠功能请删除
 
NvmExpressDxe.efi       #用于让老主板支持NVM Express设备,第四代酷睿以上主板不需要

AptioMemoryFix.efi      #修复UEFI Firmware内存问题,例如AMI Aptio,不能和其它内存修复驱动混用
 
OsxAptioFixDrv.efi      #旧版64位驱动,用于修复内存问题,例如AMI Aptio,不能和其它内存修复驱动混用

OsxAptioFix3Drv.efi     #第3版64位内存修复驱动,不能和其它内存修复驱动混用

OsxFatBinaryDrv.efi     #支持OS X 10.9及更早的版本提供FAT二进制可执行文件的驱动程序

OsxLowMemFixDrv.efi     #OsxAptioFixDrv.efi的简化版本,不能一起用

PartitionDxe.efi        #用于支持非常用分区映射的64位驱动程序,如:混合GPT/MBR或Apple Partition Map
 
Ps2MouseDxe.efi         #用于支持PS/2接口的鼠标
 
SMCHelper.efi           #用于支持FakeSMC存储SMC键值到NVRAM,和VirtualSMC.efi不兼容

UsbKbDxe.efi            #解决USB内建驱动工作不正常的情况,用于支持键盘组合键,卡引导请删除
 
UsbMouseDxe.efi         #支持引导用户界面的鼠标驱动程序
 
VBoxExt2.efi            #VirtualBox的64位EXT2/3文件系统驱动程序
 
VBoxExt4.efi            #VirtualBox的64位EXT4文件系统驱动程序
 
VBoxHfs.efi             #HFS+的开源efi文件系统驱动程序
 
VBoxIso9600.efi         #ISO9600文件系统驱动
 
VirtualSmc.efi          #高级Apple SMC模拟程序,当启用FileVault2时,建议使用VirtualSmc.efi来实现Boot.efi兼容性

XhciDxe.efi             #用于启用XHCI支持,第三代酷睿及以上主板不需要

「注」以上文件全部指的是 UEFI 版本。