Latest Update: October 05th, 2021. Applicable to: Clover r5123 to r5140+ (UEFI only)
Clover's previous AptioMemoryFixes
are incapable of booting/installing macOS 11 and newer. Therefore, OpenCore's Memory Fixes (OpenRuntime.efi
) have been integrated to keep Clover relevant. Since Clover r5126, Aptio Memory fixes are obsolete and no longer supported, so an upgrade to the latest Clover version is mandatory in order to be able to install and boot macOS 11 and newer.
This guide is for everyone trying to upgrade to the latest revision of Clover, so they can install and run macOS Big Sur and newer on their machines. When updating Clover, there are several obstacles along the way, such as removing old memory fixes, drivers and picking the correct settings for newly added "Quirks" section of the config.plist
. Users who don't want to run macOS Big Sur or newer on there systems don't need to update Clover – although you could, according to the documentation: "New Clover will understand old config.plist. You may not change it."
If you just update your existing "old" Clover EFI by installing the latest Clover.pkg
like you used to, this will most likely result in an inoperable bootloader due to missing boot parameters in the config.plist
as well as residual files from the "old" Clover version which need to be removed first.
Background: Obsolete Drivers and Kext issues
In order to avoid the dilemma of your system not booting, you have to clean up your old EFI folder before upgrading to macOS 11+.
The following drivers are no longer necessary and have to either be removed when updating Clover or omitted when building a new EFI folder:
AptioMemoryFix.efi
, OsxAptioFix3Drv.efi
and OsxAptioFixDrv.efi
OcQuirks.efi
and OcQuirks.plist – delete if present. OcQuirks is a relic from earlier attempts to include OpenCore Booter Quirks into Clover (≤r5122).DataHubDxe.efi
– DataHub protocol which provides parameters like OEM Model, FSBFrequency, ARTFrequency, Clover's boot-log and many other things to macOS which it cannot obtain otherwise. It has been fully integrated into Clover since r5129, so delete it. Newer versions of the Clover Package don't contain this driver anyway.EmuVariableUefi.efi
– necessary for emulating NVRAM, if it is not available (legacy systems) or working incorrectly.FSInject.efi
– For Kext injection. Necessary only for legacy versions of macOS ≤ 10.7 (Lion) which are capable of loading individual kexts instead of Prelinkedkernel. Since r5125, OpenCore handles Kext injection, so FSInject has become obsolete and should be deleted!SMCHelper.efi
– Necessary only when using FakeSMC.kext
. If you use it in combination with VirtualSMC.efi
, it can cause instant Kernel Panics. In other words: VirtualSMC + VirtualSMC.efi = good; FakeSMC + SMCHelper.efi = good; any other combination = bad. Nowadays, using VirtualSMC.kext
alone is sufficient and recommended.Outdated, incompatible and/or duplicate Kexts (and variations thereof) can cause boot crashes, kernel panics and general system instability. Therefore, you should always keep your kexts up to date for maximum compatibility with macOS and Clover! You can use Kext-Updater to download the latest kexts and other Bootloader-related files.
If you are using a lot of Kexts (usually on Notebooks), have a look inside of them (right-click and select "Show package contents") to check if they include additional kexts (as "Plugins") and make sure that no duplicates exist in the "kexts" folder – Kexts for HID, WiFi and Bluetooth come to mind.
If you get panics you can not isolate, move all non-essential kexts to the "Off" folder temporarily to work around the issue by starting with a minimal set of Kexts to get the system running. Once it runs, put the disabled Kexts back one at a time, reboot, and repeat until you to find the culprit for the panic and look for a solution (verbose mode is your friend).
Here are some examples of Kexts I've experienced issues with when updating:
AirPortBrcm4360_Injector
and AirPortBrcmNIC_Injector.kext
. When using AirPortBrcmFixup, you are supposed to use only one of these plugins, not both! Using both can cause the boot process to stall indefinitely. On top of that, AirPortBrcm4360_Injector
is not supported by macOS Big Sur and has to be disabled anyway. In OpenCore, you can just disable a Kext in the config. Since the Clover config does not support to take control of the kext loading sequence, you have to delete it from the Kext itself (right click on AirportBrcmFixup, select "Show package contents" > "Plugins").CloverConfigPlistValidator.zip
as well.CloverV2/EFI/CLOVER/drivers/off/UEFI
and its sub-folders. Inside, you will find these Drivers:
AudioDXE.efi
is only needed for playing back audio files like boot chimes - so if you don't use any, you can delete/disable it. As mentioned earlier, SMCHelper.efi
MUST be deleted when using VirtualSMC.kext
!Quirks
.config.plist
Next, jump to the "Kernel" section of Dortania's guide and copy over the settings from "Quirks" and "Scheme". Again, make sure to unfold the "more in-depth" section to find all necessary settings.
NOTE: some of the OpenCore "Kernel Quirks" have different names and are located in the "Kernel and Kext Patches" section of Clover Configurator. In most cases you have the correct settings enabled already, otherwise your system wouldn't have started before. But it's good to double check if you have settings enabled which may be unnecessary. These include:
Once you've ticked all the necessary quirks, save your configuration.
Starting from version r5134, Clover now includes error reporting similar to OpenCore which displays configuration errors before the actual boot menu appears. Do the following to validate your config and fix configuration errors:
CloverConfigPlistValidator
into it and hit the right arrow key once, so the file path is no longer highlightedconfig.plist
and the config-sample.plist
included in the Clover package in a plist editor and compare them. Look for any differences (like formatting, deleted features, etc.) and fix them. NOTE:If it does boot, you can mount the ESP partition of your hard drive, backup your old EFI Folder, delete it and put in the one from your USB Flash drive to make the changes permanent.
Good luck!
NOTES