I recently got an email from a former colleague, requesting assistance with a problem they were seeing. They were cloning drives with macOS Catalina, but their cloning process was not including the Recovery volume. Was there a way to create a new Recovery volume on a macOS Catalina boot drive that didn’t have one?
I did some research on this and found that there was a script to do this on High Sierra and Mojave, but it didn’t appear to work anymore.
With some more digging, I was able to figure out why. The script was downloading and expanding a macOSUpd10.13.6.RecoveryHDUpdate.pkg installer package from Apple’s Software Update service in order to get access to a dm tool included with the installer package. This installer package was no longer available from the Software Update service, but a similar package named SecUpd2019-005HighSierra.RecoveryHDUpdate.pkg with the same dm tool was available.
Once I verified that I could get the same results using the SecUpd2019-005HighSierra.RecoveryHDUpdate.pkg installer package, I wrote a script (based on the original one I had found) to help automate the process of rebuilding a macOS Recovery volume or partition. For more details, please see below the jump.
Downloading the script
The create_macos_recovery script is available from the following location:
https://github.com/rtrouton/create_macos_recovery
Once you have the script downloaded, run the create_macos_recovery script using root privileges with one argument:
- The path to an Install macOS.app
Using the script
If you have a macOS Catalina 10.15.0 installer application available in your Mac’s /Applications directory, run this command with root privileges:
/path/to/create_macos_recovery.sh "/Applications/Install macOS Catalina.app"
If successful, you should see output like this appear:
Once the script has finished running, you should be able to verify that you can boot into Recovery.
Testing notes
Before any use in production, I strongly recommend testing this script on test systems and verifying that this also works for you. Please see below for what I have tested this script with:
OS versions:
- macOS 10.13.6
- macOS 10.14.6
- macOS 10.15.0
OS installers:
- Install macOS High Sierra.app (for 10.13.6)
- Install macOS Mojave.app (for 10.14.6)
- Install macOS Catalina.app (for 10.15.0)
Test systems:
- Virtual machines running in VMware Fusion 11.5.0
Note: I have only tested on systems where FileVault encryption has not been enabled.