Upgrading Clover for macOS 11+ compatibility

Latest Update: October 05th, 2021.
Applicable to: Clover r5123 to r5140+ (UEFI only)

Why Upgrade?

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.

Who is this Guide for?

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."

Problem Description

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

Obsolete drivers and avoiding kext conflicts

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+.

Prerequisites: Removing obsolete Drivers

The following drivers are no longer necessary and have to either be removed when updating Clover or omitted when building a new EFI folder:

Checking and Updating Kexts

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:

Building a new EFI folder

  1. Prepare a USB flash drive. Format it to FAT32 (MBR). We'll use it for testing our updated EFI Folder first, before copying it to the ESP on the HDD.
  2. Download the latest Clover Release as a .zip archive for a manual update.
  3. Download CloverConfigPlistValidator.zip as well.
  4. Extract both zip archives.
  5. Have a look at CloverV2/EFI/CLOVER/drivers/off/UEFI and its sub-folders. Inside, you will find these Drivers:
    Bildschirmfoto 2021-10-05 um 10 32 30
  6. Move the following drivers from "divers/Off" to "/drivers/UEFI":
  7. Next, copy over the following files/folders from your existing EFI folder:
  8. Run Clover Configurator and update it to the latest Version. It should now include a new section at the bottom called Quirks.
  9. Open your config.plist
  10. Click on "Quirks". It should look like this (without descriptions of course):
  11. Head over to the OpenCore Install Guide and pick the guide for your CPU Family and Platform.
  12. Jump to the "Booter" Section. It contains all required Booter Quirks tinted green in the screenshot. Make sure to unfold the "more in-depth info" box to see what they do. Find the options for your system and tick them away in Clover Configurator.
  13. 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:

  14. Once you've ticked all the necessary quirks, save your configuration.

Validating config.plist and fixing errors

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:

  1. Open Terminal
  2. Drag CloverConfigPlistValidator into it and hit the right arrow key once, so the file path is no longer highlighted
  3. Next, drag and drop your clover config.plist into the terminal window. Make sure there is a blank space between the 2 file paths
  4. Hit "Enter"
  5. Check the results. If it says: "Your plist looks so wonderful. Well done!", then you don't have to do anything else.
  6. If there are errors shown in the log, open both your config.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:
  7. Save your config.
  8. Re-check for errors
  9. Repeat comparison, fixing, saving and re-checking until all issues are resolved

Testing your (new) config

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.

Further Resources and Troubleshooting:

Good luck!

NOTES