# Updating OpenCore and macOS

# Updating OpenCore

So the main things to note with updating OpenCore:

So how do I update?

So the process goes as follows:

# 1. Download the latest release of OpenCore

# 2. Mount your EFI

  • So first, lets mount your hard drive's EFI and make a copy somewhere safe with MountEFI (opens new window). We won't be updating the drive's EFI at first, instead we'll be grabbing a spare USB to be our crash dummy. This allows us to keep a working copy of OpenCore in case our update goes south

  • For the USB, it must be formatted as GUID. Reason for this is that GUID will automatically create an EFI partition, though this will be hidden by default so you'll need to mount it with MountEFI.

  • Now you can place your OpenCore EFI on the USB

# 3. Replace the OpenCore files with the ones you just downloaded

  • The important ones to update:

    • EFI/BOOT/BOOTx64.efi
    • EFI/OC/OpenCore.efi
    • EFI/OC/Drivers/OpenRuntime.efi(Don't forget this one, OpenCore will not boot with mismatched versions)
  • You can also update other drivers you have if present, these are just the ones that must be updated in order to boot correctly

# 4. Compare your config.plist to that of the new Sample.plist

  • Once you've made the adjustments, to make sure that you config is compliant with the newest release of OpenCore, you can use the OpenCore Utility ocvalidate: this tool will help ensure your config.plist is matching the OpenCore specification of the matching build.
    • Please note, that ocvalidate must match the used OpenCore release and may not be able to detect all configuration flaws present in the file. We recommend to double check your setting with the OpenCore Guide on what to set everything to, otherwise read the Differences.pdf (opens new window) for more in-depth documentation on changes.
    • To run ocvalidate, cd into OpenCore's Utilties/ocvalidate/ and run ./ocvalidate <insert_config.plist>. Note you may need to run chmod +x ocvalidate for it to execute.
    • In addition, update ProperTree and perform an OC Snapshot (Ctrl/Cmd+R) to ensure that the config entries for your SSDTs, drivers, kexts, etc. are compliant with the format OpenCore expects.

# 5. Boot!

  • Once everything's working with the dummy USB, you can mount the EFI and move it over to the hard drive's EFI partition. Remember to keep a copy of your old EFI in cases where OpenCore is acting funny down the road

# Updating Kexts

# Updating macOS

  • So this is probably one of the most challenging parts, maintaining your system through OS updates. The main things to keep in mind:

    • With OS updates, make sure everything has been updated and you have some form of recovery like TimeMachine or an older macOS installer with a known good EFI on it
    • Do a bit of google-fu to see if others are having issues with the newest update
  • I've also provided a bit more of a detailed map of what's changed in macOS versions, see below:

macOS Catalina:

macOS Big Sur:

macOS Monterey: