• Become a Premium Member for $25/year with no ads to improve your community experience. Upgrade to Pro Account for faster response and no wait times!

GUIDE How To Update OpenCore Bootloader

How To Update OpenCore Bootloader

This guide covers updating OpenCore bootloader using several methods and is supported by both i.e. Legacy and UEFI. By following this guide, you'll be able to update the OpenCore bootloader on your non-Apple computer for its seamless operation.


What is OpenCore?

Unlike Clover, OpenCore is a Bootloader that is capable of booting a variety of Operating Systems, including macOS. Although every Operating System contains its bootloader which allows booting the OS on the target machine, OpenCore is mainly intended for booting macOS on non-Apple computers and Legacy Macs as well.

Why do I need to Update the OpenCore?

Often, from time to time, new bugs are found by developers and fellow users and fixes are introduced with a new revision in the bootloader to fix the reported bugs or to improve kext injection or the patches and sometimes support for existing hardware or support for new hardware for better compatibility so that the hardware and software runs more reliably. In order to have those fixes, updating OpenCore bootloader is necessary on a regular basis to prevent any issue and the purpose is the same, i.e. reliability.

NOTE: When updating OpenCore, its always recommended to update the related kexts as well. See updating kexts for more information.

This guide already assumes that you have followed the installation guide and have installed OpenCore and have configured the config.plist as well. This guide will only focus on updating an existing version of OpenCore which is installed onto your system, particularly, in the ESP.

Method #1: Manual Method

Using this method, you don't need any sort of app to update the OpenCore bootloader and can use Finder which is available within macOS. This method is also helpful when the OpenCore is not released to public but the changes are being made in each commit which may contain important fix or workaround for certain issues. To update the OpenCore manually, follow the steps below:

STEP 1: Backup existing EFI

Before you proceed with updating the OpenCore bootloader, its highly recommended to backup the existing working OpenCore EFI. In case the update fails or you encounter any issues with the update, or want to revert the changes you made to the EFI, you can roll back to your existing working EFI. It is never recommended to make any edits directly in the EFI of the ESP and such practice is highly discouraged without having a backup as a fail-safe option. See How to Backup EFI for more information.

STEP 2: Download OpenCore

To begin with the OpenCore update, the very first step is to download the latest OpenCore. To download the latest OpenCore, follow the steps below:

1. Download OpenCore Pkg. The OpenCore Pkg comes in two variants: DEBUG and RELEASE.

VersionNotes
DEBUG
  • Helps in debugging boot issues
  • Can add some delay in boot times
  • Recommended for debugging purposes.
RELEASE
  • Not much help for debugging boot issues.
  • Troubleshooting is difficult
  • Recommended for production use.

2. Download the RELEASE folder followed by the release version. For e.g. OpenCore-0.9.4-RELEASE.zip.
3. Extract the downloaded zip file. When extracting, you'll get 4 folders as listed below:

DirectoriesDescription
DocsContains documentation, changelog, sample config.plist, and ACPI samples for OpenCore.
IA32Contains OpenCore EFI, 32-bit OpenCore Boot Loader.
Required for OS X 10.4.1 through 10.4.7
UtilitiesContains several utilities.
X64Contains OpenCore EFI, 64-bit OpenCore Boot Loader.
Required for OS X 10.8 and newer

STEP 3: Replace Files

Once you have backed up the EFI, the next step is to replace the updated OpenCore files with the existing files in the ESP. To replace the files, follow the steps below:

1. Navigate to OpenCore-0.X.X-RELEASE directory. You'll need to replace the following files with the updated one you just downloaded in STEP #1 of this guide.

- Replace BOOTx64.efi in ESP/EFI/BOOT from OpenCore-0.X.X-RELEASE/X64/BOOT directory.
- Replace OpenCore.efi in ESP/EFI/OC from OpenCore-0.X.X-RELEASE/X64/OC directory.
- Replace OpenRuntime.efi and other necessary drivers in ESP/EFI/OC/Drivers from OpenCore-0.X.X-RELEASE/X64/OC/Drivers directory.
- Replace config.plist in ESP/EFI/OC from OpenCore-0.X.X-RELEASE/Docs directory.
- Replace SSDTs in ESP/EFI/OC from OpenCore-0.X.X-RELEASE/Docs/AcpiSamples/Binaries directory.

NOTES:
  • With the introduction of .contentVisibility since OpenCore 0.9.4, replacing the entire BOOT directory is recommended if using any prior version than 0.9.4, or the picker will have EFI Partition as an extra entry. This step is not required for 0.9.4 and later.
  • Replacing SSDTs are usually not required but depends on the changelog. In addition, if your system requires a path change in one of these SSDTs, you must adapt the path accordingly.

STEP 4: Update config.plist

1. Copy the config.plist from the backed up EFI to a different location.
2. Open config.plist from the ESP/EFI/OC directory and the other config.plist that you copied to the different location side by side.
3. Match the changes from the original working config.plist with the new config.plist and ensure its exactly the same except for the new parameters introduced in the new config.plist.

STEP 5: Validate config.plist

Once you have made the changes to the new config.plist, its recommended to validate the new config.plist carefully to ensure there are no wrong combination of kexts or quirks and all the SSDTs, kexts, drivers entries are defined in the config.plist. In addition, if you're having device properties (particularly IGPU) or any other, ensure the device path and the values are correct.

STEP 6: Restart and Boot

Once you have updated the OpenCore bootloader, restart and boot using that. Make sure to reset NVRAM twice.

STEP 7: Confirm the OpenCore Update

After restart, check whether you have the new release in the picker. The release name is usually REL-XX-20XX-XX-XX and is displayed as Version-Year-Date-Month format. You can also check the OpenCore Bootloader version using Hackintool and Terminal as well. See How to check Bootloader version for more information.

Method #2: Using OCAT

OpenCore Auxiliary Tool (OCAT) is one of the widely used tools to edit config.plist and perform the related functions. Using OpenCore Auxiliary Tool (OCAT), you can update the OpenCore Bootloader and the related kexts within a few clicks. It's one of the easiest and hassle-free methods to update the OpenCore Bootloader. To update the OpenCore bootloader using OCAT, follow the steps below:

STEP 1: Backup EFI

Before you proceed with updating the OpenCore bootloader, its highly recommended to backup the existing working OpenCore EFI. In case the update fails or you encounter any issues with the update, or want to revert the changes you made to the EFI, you can roll back to your existing working EFI. It is never recommended to make any edits directly in the EFI of the ESP and such practice is highly discouraged without having a backup as a fail-safe option. See How to Backup EFI for more information.

STEP 2: Download and Install OCAT

Once you have the working EFI backed up, the next step is to download and install OCAT. To download and install OCAT, follow the steps below:

1. Download OC Auxiliary Tools from the downloads section of this forum.
2. Mount the .DMG file by opening the .dmg file.
3. Move the OCAuxiliaryTools to your Applications directory.
4. Perform an upgrade check for the OC Auxiliary Tools App using Help>Download Upgrade Packages. If there's any available package for an upgrade, it will download it. Once it finishes downloading, click on Close and start upgrade and the App will upgrade to its latest version. After the upgrade, when the App reopens, check for an update using Help> Update Check. If you're using the latest version, you'll see the following:

NOTE: You don't need to follow this step if you have downloaded the latest OC Auxiliary Tools.

STEP 3: Update OpenCore Files

Once the OCAT is ready, you can proceed with updating the OpenCore files. To update the OpenCore Files, follow the steps below:

1. Mount the ESP using Edit>Mount ESP. When prompted, select Mount.
2. When prompted again, enter your password.
3. Open the config.plist from ESP>EFI>OC usingOCAuxiliaryTools.app.
4. Click on the Sync icon to Upgrade OpenCore and Kexts icon and you'll see something similar to the following
5. Select Latest Version from the Choose OpenCore Version option and then Click on Get the Latest version of OpenCore and it will update the OpenCore Database.
6. Click on Start Sync to update the OpenCore.
7. Once the OpenCore Database is updated, you'll see the following:
8. Click on the Sync icon again and you'll notice that the OpenCore files have been updated now
9. Click on the Save button

STEP 4: Validate config.plist

Once you have made the changes to the new config.plist, its recommended to validate the new config.plist carefully to ensure there are no wrong combination of kexts or quirks and all the SSDTs, kexts, drivers entries are defined in the config.plist. To validate the config.plist using OCAT, follow the steps below:

1. Assuming the config.plist is still open, click on OC Validate and look for any error. If there's none, you should see the following:
2. Quit OCAT.

NOTES:
  • With the introduction of .contentVisibility since OpenCore 0.9.4, replacing the entire BOOT directory is recommended if using any prior version than 0.9.4, or the picker will have EFI Partition as an extra entry. This step is not required for 0.9.4 and later.
  • Replacing SSDTs are usually not required but depends on the changelog. In addition, if your system requires a path change in one of these SSDTs, you must adapt the path accordingly.

STEP 5: Restart and Boot

Once you have updated the OpenCore bootloader, restart and boot using that. Make sure to reset NVRAM twice.

STEP 6: Confirm the OpenCore Update

After restart, check whether you have the new release in the picker. The release name is usually REL-XX-20XX-XX-XX and is displayed as Version-Year-Date-Month format. You can also check the OpenCore Bootloader version using Hackintool and Terminal as well. See How to check Bootloader version for more information.
 
Last edited:

Latest posts

Forum statistics

Threads
2,084
Messages
19,451
Members
29,550
Latest member
Snowson