# Upgrade OpenCore

## Upgrade OpenCore and Kexts

Currently, the easiest method to keep your OpenCore files, drivers, config and kexts up to date is to use OCAuxiliaryTools.

### Updating the Config.plist

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*](https://github.com/corpnewt/OCConfigCompare) */* [*Meld*](https://yousseb.github.io/meld/), [*KextUpdater*](https://github.com/MacThings/kextupdater), [*ProperTree*](https://github.com/corpnewt/ProperTree) and [*OCValidate*](https://github.com/acidanthera/OpenCorePkg/tree/master/Utilities/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*

![](https://3366797968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LwXl0c-BaUDNDvUg8TP%2Fuploads%2FDTAhaDddaWJe9xsHWyCJ%2FScreenshot%202024-06-05%20at%2012.56.12%20AM.png?alt=media\&token=6de468dd-deca-4a1e-8da4-4643f7deaf27)

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.

![](https://3366797968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LwXl0c-BaUDNDvUg8TP%2Fuploads%2F2wU5bpcMYwzxt1oZRkSQ%2FScreenshot%202024-06-05%20at%2012.53.21%20AM.png?alt=media\&token=62951f8d-8db7-4ce7-9d29-1a5dfaaf6c23)

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

![](https://3366797968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LwXl0c-BaUDNDvUg8TP%2Fuploads%2FHyFtjhCAAnFlSZfKF0RU%2FScreenshot%202024-06-05%20at%2012.35.02%20AM.png?alt=media\&token=ff910f33-e237-4e78-97c7-e97f503e8a91)

* Clicking on the red button will show the errors.

![](https://3366797968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LwXl0c-BaUDNDvUg8TP%2Fuploads%2FzAZVYAiUAh6PI5u5sTGz%2FScreenshot%202024-06-05%20at%2012.37.13%20AM.png?alt=media\&token=2ef4037b-83f0-468a-91c7-492d275f48f0)

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

![](https://3366797968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LwXl0c-BaUDNDvUg8TP%2Fuploads%2FOvqIjmsUcdZ5A6e0tUxP%2FScreenshot%202024-06-05%20at%2012.38.05%20AM.png?alt=media\&token=f7ff7e5a-b7fa-4e85-b18b-8fc7191aaa7e)

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

![](https://3366797968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LwXl0c-BaUDNDvUg8TP%2Fuploads%2FvyvOVgaWQVlANbl3kaPW%2FScreenshot%202024-06-05%20at%2012.39.35%20AM.png?alt=media\&token=6e74d04c-3000-4fb1-8eed-d1dda57c8acd)

* 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](https://dortania.github.io/OpenCore-Post-Install/universal/update.html) in the Dortania guide, which provides more details.

### Upgrading Kexts

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 -> \[+]*.

<figure><img src="https://3366797968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LwXl0c-BaUDNDvUg8TP%2Fuploads%2FBtg4HGeJU2Oij5AnB1Sg%2FScreenshot%202024-06-05%20at%2012.41.15%20AM.png?alt=media&#x26;token=930fc48d-8c2c-467b-aa9a-4cff5fd0e574" alt=""><figcaption><p>three kexts need to be updated in this example</p></figcaption></figure>

* Click on the *Settings* Butto&#x6E;*,* referring to: *`The way to get the download link for Kext upgrade`* and ensure that `Accessing the GitHub API` is checked, as shown below.

<figure><img src="https://3366797968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LwXl0c-BaUDNDvUg8TP%2Fuploads%2FEXSt2Emx7qcLLZklWJCA%2FScreenshot%202024-06-05%20at%2012.42.05%20AM.png?alt=media&#x26;token=4cece7cb-847e-4400-8f5a-6d2154826b02" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://3366797968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LwXl0c-BaUDNDvUg8TP%2Fuploads%2FlRD5fIuYSGJVVQgw8WCH%2FScreenshot%202024-06-05%20at%2012.43.05%20AM.png?alt=media&#x26;token=7890bb6e-21d8-4adc-adde-74ad7b852f89" alt=""><figcaption></figcaption></figure>

* Click on *Update Kexts*, which will update the kexts in your EFI folder.

<figure><img src="https://3366797968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LwXl0c-BaUDNDvUg8TP%2Fuploads%2FvdTMoFKfEwHQclySZHep%2FScreenshot%202024-06-05%20at%2012.45.44%20AM.png?alt=media&#x26;token=20a99b56-b5ac-4f85-bfb4-cc7e5cd99ebc" alt=""><figcaption><p>kexts fully updated to the current stable versions</p></figcaption></figure>

* If you want to use the development versions of the kexts instead, select the DEV checkbox first.&#x20;

### Upgrading OpenCore, Drivers and Resources

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

<figure><img src="https://3366797968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LwXl0c-BaUDNDvUg8TP%2Fuploads%2FA9EPCfCkX5IPRTRWNeYL%2FScreenshot%202024-06-05%20at%2012.47.54%20AM.png?alt=media&#x26;token=3e72bf89-8689-4f7e-8aaa-6fae3904a1e6" alt=""><figcaption></figcaption></figure>

* If you check back in the *Sync* window, all OpenCore files should now be marked green.

  <figure><img src="https://3366797968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LwXl0c-BaUDNDvUg8TP%2Fuploads%2FYt9aETrrZJ0UkCS9ZGyc%2FScreenshot%202024-06-05%20at%2012.49.15%20AM.png?alt=media&#x26;token=3b5f2d91-e1b8-46cb-8012-3e26a7e0931a" alt=""><figcaption></figcaption></figure>

### NOTES

* Much of the *Upgrade OpenCore and Kexts* portion of this guide is based on [Updating OpenCore and Kexts with OCAT](https://github.com/5T33Z0/OC-Little-Translated/blob/main/D_Updating_OpenCore/README.md) by 5T33Z0. *Some possible issues are also discussed there.*
* Also check 5T33Z0's helpful [OpenCore Config Tips and Tricks](https://github.com/5T33Z0/OC-Little-Translated/tree/main/A_Config_Tips_and_Tricks) and other sections in his repo.

![](https://3366797968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LwXl0c-BaUDNDvUg8TP%2Fuploads%2FFgodoVfQ9J7nzfXa4rSu%2Fby-nc-license.svg?alt=media\&token=03a208c0-37c6-488e-b564-b57cd43c75c9) *Except where otherwise noted, content on this site is licensed under the* [*Creative Commons — Attribution-NonCommercial 4.0 International — CC BY-NC 4.0*](https://creativecommons.org/licenses/by-nc/4.0/) *license. Attribution by link to* [*chriswayg · GitHub*](https://github.com/chriswayg)*.*
