After converting your MacOS hard disk to APFS, you could run into a situation where your Mac is no longer bootable and you get errors like “Building boot caches on boot helper partition failed” or “Running bless to place boot files failed”. In my case, I restored a recently repaired Mac from a Time Machine backup and even though the backup had MacOS Mojave, it didn’t use the APFS file system after the restore, so Mojave couldn’t install any updates. After booting into recovery, I was able to convert the SSD to APFS, but then I couldn’t select it as the startup disk because I would get these errors. I couldn’t even run the Reinstall MacOS option because it would give me errors about preboot.
Convert Mac SSD to APFS
- Boot into recovery using Command+R at startup
- Select Disk Utility
- Select your Macintosh HD (or whatever your’s is called)
- Click the Unmount button
- Click Edit then Convert to APFS
How To Fix Boot Errors After Converting MacOS To APFS
- Boot into recovery using Command+R at startup
- Go to Utilities > Terminal
- Use this command to update the Preboot section of the disk to APFS
diskutil apfs updatePreboot /Volumes/Macintosh\ HD/
Replace “/Macintosh\ HD/” with the name of your boot volume - Exit Terminal and restart
When Prompted, select your disk and you shoot be able to boot to it now
Create Preboot Volume for APFS
Based on some of the feedback in the comments below, I’ve added these steps to the process as well:
- Boot into recovery using Command+R at startup
- Go to Utilities > Terminal
- Run
diskutil apfs list
to check partitions and disk numbers - If you don’t have a preboot volume for your APFS container, create it by running:
diskutil apfs addVolume disk"Disk Number here" apfs Preboot -role B
- Create a folder similar to “/Volumes/Preboot//System/Library/CoreServices” but with your UUID:
mkdir -p /Volumes/Preboot/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/System/Library/CoreServices
replacing the x’s with the UUID noted above cp -RP /Volumes/MACINTOSH HD/System/Library/CoreServices /Volumes/Preboot//System/Library/CoreServices
- Run this command to update the preboot. Replace disk2s1 with your disk:
diskutil apfs updatepreboot disk2s1
- Run the bless utility:
bless --folder /Volumes/MACINTOSH HD/System/Library/CoreServices --bootefi --verbose
- Reboot