Upgrade OpenCore
Last updated
Last updated
Currently, the easiest method to keep your OpenCore files, drivers, config and kexts up to date is to use OCAuxiliaryTools.
OCAuxiliaryTools actually merges any changes made to the structure of the Config.plist and feature-set, thereby updating it to the latest version, without losing settings. It integrates the tasks which had to be handled manually by multiple separate tools in the past such as OCConfigCompare / Meld, KextUpdater, ProperTree and OCValidate.
Mount your EFI partition: Menu -> Edit -> Mount ESP Partition, or click the Mount ESP button. Only mount one EFI partition at a time!
Then click: Mount and open Config.plist
It is recommended to perform the upgrade first on a USB-stick and then transfer the EFI, after you are sure that the upgrade was successful. In any case backup your EFI first before making any changes.
Select Menu -> Edit -> Backup EFI to Desktop or click the Backup EFI to Desktop button.
Select Menu -> Edit -> Upgrade OpenCore and Kexts or click the Upgrade OpenCore and Kexts button. - If your Config.plist is outdated, you should see some OC Validate warnings indicated by a red exclamation mark on the OC Validate button.
Clicking on the red button will show the errors.
Close the OC Validate dialog. Click the Save button, which will update the Config.plist and get rid of all or most of the shown errors.
Correct any remaining errors as indicated by OC Validate. The OC Validate button will change from red into a checkmark. This should be sufficient for updating your Config.plist.
Note: Any additional errors are most likely configuration errors which you need to fix on your own. Also refer to Updating OpenCore and macOS | OpenCore Post-Install in the Dortania guide, which provides more details.
Occasionally you may need to remove a kext (or driver) which is not needed any more for the newest version of OpenCore or which has been replaced with another. Deleting kexts in the Kernel -> Add section will remove them from the Config.plist, but not from the disk. Since OCAuxiliaryTools automatically syncs changes on disk with the kext list in Config.plist, it is easier to just delete them from the disk. From the Kernel - Add section select Menu -> File -> Browse to show your current kexts in the Finder. Then delete any outdated kext.
Next, select Menu -> Edit -> Upgrade OpenCore and Kexts or click the Upgrade OpenCore and Kexts button.
In this dialog window we see Kexts on the left and OpenCore files on the right with indicators which files will need to be updated: Green = up-to-date, Red = outdated, Gray = link to repo is missing. You can add a repo link for kexts in Settings -> Kext Update URL -> [+].
Click on the Settings Button, referring to: The way to get the download link for Kext upgrade
and ensure that Accessing the GitHub API
is checked, as shown below.
We will start with the kexts. Therefore, click Select All or individually mark the checkboxes for kexts you want to update (otherwise they will be ignored).
Click on Check for Kexts Updates. This will download the latest available kexts.
Click on Update Kexts, which will update the kexts in your EFI folder.
If you want to use the development versions of the kexts instead, select the DEV checkbox first.
On the right side of the above shown dialog window, the relevant files to be upgraded should already be selected automatically in the OpenCore file table
On the same side there is a drop down menu to Choose OpenCore Version: select "Latest Version", then click "Get OpenCore". It will automatically update to the latest available release version of OpenCore, and it will intelligently adapt to the Config.plist parameters of that version.
Then press the Start Sync button.
If you check back in the Sync window, all OpenCore files should now be marked green.
Much of the Upgrade OpenCore and Kexts portion of this guide is based on Updating OpenCore and Kexts with OCAT by 5T33Z0. Some possible issues are also discussed there.
Also check 5T33Z0's helpful OpenCore Config Tips and Tricks and other sections in his repo.
Except where otherwise noted, content on this site is licensed under the Creative Commons — Attribution-NonCommercial 4.0 International — CC BY-NC 4.0 license. Attribution by link to chriswayg · GitHub.