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.
Version | Notes |
---|---|
DEBUG |
|
RELEASE |
|
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:
Directories | Description |
---|---|
Docs | Contains documentation, changelog, sample config.plist, and ACPI samples for OpenCore. |
IA32 | Contains OpenCore EFI, 32-bit OpenCore Boot Loader. Required for OS X 10.4.1 through 10.4.7 |
Utilities | Contains several utilities. |
X64 | Contains 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 theconfig.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: