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
I tried this with a 500GB external SSD I converted rob APFS and got an error: “Unable to find boot helper partition”
I’ve updated the article with some additional steps based on the feedback in the comments.
I have a same problem and same error : “unable to find boot helper partition” can you tell me how to fix it
I’ve updated the article with some additional steps based on the feedback in the comments.
Same for me:
Error: -69737: Unable to find boot helper partition
I’ve updated the article with some additional steps based on the feedback in the comments.
Hey did you find the solution to previous comments?
Same problem…Anybody find a fix for “unable to find boot helper partition” ?
I’ve updated the article with some additional steps based on the feedback in the comments.
I received the same error as the other commenters: Error: -69737: Unable to find boot helper partition. Any other suggestions?
I’ve updated the article with some additional steps based on the feedback in the comments.
This alone didn’t fix it in my situation, but it was the first breadcrumb to get me on the right track.
I needed to create a new Preboot volume on the sythesized disk.
Then create a directory in there named with the UUID of my Macintosh volume.
Then I I needed to copy the /System/Library/CoreServices directory from my Macintosh HD (now based on files from Catalina’s pseudo-successful installation) into that UUID directory.
I can’t remember if I did updatePreboot at that point. The last step I did was to use the bless command on the original Macintosh HD volume and restart.
Hey, have the exact same issue. Tried converting my External bootable drive to APFS and now it won’t boot. Can you provide any more detail about the process you used to fix? Thanks!
Hope this helps the next person.
1. get into the recovery mode terminal
2. diskutil apfs list (shows disks)
3. diskutil apfs addVolume disk”Disk Number here” apfs Preboot -role B
4. Create a folder similar to “/Volumes/Preboot//System/Library/CoreServices” but with your UUID.
5. cp -RP /Volumes/MACINTOSH HD/System/Library/CoreServices /Volumes/Preboot//System/Library/CoreServices
6. diskutil apfs updatepreboot disk2s1 (use your disk)
7. bless –folder /Volumes/MACINTOSH HD/System/Library/CoreServices –bootefi –verbose
8. bless again via Startup Disk ( just to be sure)
Nice!
1. get into the recovery mode terminal
2. diskutil apfs list (shows disks)
3. diskutil apfs addVolume disk”Disk Number here” apfs Preboot -role B
4. Create a folder similar to “/Volumes/Preboot//System/Library/CoreServices” but with your UUID.
5. cp -RP /Volumes/MACINTOSH HD/System/Library/CoreServices /Volumes/Preboot//System/Library/CoreServices
6. diskutil apfs updatepreboot disk2s1 (use your disk)
7. bless –folder /Volumes/MACINTOSH HD/System/Library/CoreServices –bootefi –verbose
8. bless again via Startup Disk ( just to be sure)
Did anybody figure out the unable to find boot helper partition error? I am having the same problem.
I’ve updated the article with some additional steps based on the feedback in the comments.
I had the same problems and various attempts for instructions from the Internet
Here is my successfully solution:
my System:
MacBoook Pro late 2012 (Mojave 10.14.3, HFS+, 1 TB SSD)
extern USB3 with Time Machine and actually Backup
Steps:
– backup your system, make a last stand on time machine
– i create a bootable USB-Stick with the actual Mojave 10.14.6 (my guide was: https://www.maclife.de/ratgeber/usb-stick-booten-installieren-macos-mojave-erstellen-gehts-100108119.html) on another Mac
– then put the ready Stick in my MacBook Pro and restart and press ALT-Key, then select USB as start medium
– is Rescue-Screen with 4 Options, i select the harddisk-utility and remove the main SSD with the new Format APFS (normal not case-sensitve) Format
– back to rescue-screen and select option “new install” the mojave 10.14.6 on the main SSD
– after install you have the option that you can transfer your Data from another mac or Time Mashine <- that select and click next (the volume with the time machine backup must connect | in my case the extern USB-drive)
– follow steps and select your right settings
Hint: For me, the data transfer took about 8 hours (~ 600GB)
– Once the transfer is complete, you can log in and fill in the last things like MacId and so on
Now i have the boot able Mojave 10,14.6-Installation with APFS formated SSD-Drive and all my "old" Data, programs, accounts and settings
I hope this help anyone and sorry for my broken English
Sven solution is fine.
Confifgure a USB key with Catalina on it.
Run MAC from USB key (option at start)
install Catalina on your drive.
Everything works, no data loss
Hi. Just to confirm are you saying to reinstall your operating system on top of the non bootable operating system ? and you are sure there will be no data loss, will it not wipe the drive to do this ?
This solved my problem – https://apple.stackexchange.com/questions/308531/could-not-create-a-preboot-volume-for-apfs-install
I’ve added some additional steps to this article. Could you let us know which solution in this link helped you? I see there are a couple posted.
Following your instructions was straightforward until the ‘folder creation’ section – could you get more specific please? I’ve run into tons of issues
All these steps are of no use if you don’t do this final step:
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:
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
==>Before Reboot, after running bless command.
Close the terminal window, on the Apple menu, select your main SSD as the Startup disk. PS: without the above steps, the system will not allow you to select your main SSD as startup disk. Now, it will allow and then wait patiently for the system do its thing.
When I do the cp command It runs all the way through everything saying “No such file or directory”. Any advice on this? I’m running from my original HDD. Should I transfer to an ssd and try?
The instructions were a bit too vague for newbies (like me) where it says to “Create a folder similar to …”
More complete instructions in this section would be as follows
1) Make note of the UUID shown for your system volume (usually called “Macintosh HD”) from the “diskutil apfs list” command
2 ) Create the folder path using the command
mkdir -p /Volumes/Preboot/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/System/Library/CoreServices replacing the x’s with the UUID noted above
Then continue with the “cp -RP …” command as shown in the original instructions.
Thank you for the reply. I’ve added your example to the instructions.
Ok, I have a raider system that I did a Time Machine Backup onto and it was the old HD formatting that the OS was on. Long story short, one of the containers on the raided drive was missing a preboot, so I followed the instructions and everything seemed to work, but on reboot I get the flashing folder with the “?”.
Also, in the diskutil apfs list, I see the Preboots, but are they supposed to have a mount point? Cause each of them don’t. I keep getting Couldn’t bless the APFS preboot volume for volume mounted at /volumes/“name of my drive”: No such file or directory
Instructions in this link were better.
https://www.belightsoft.com/products/resources/apfs-bootable-clone-with-command-line
Simply do everything in recovery mode, and replace ‘rsync …’ with ‘cp -RP …’
Followed these steps entirely, can see the directory with my UUID and everything set up ok… when it comes to finally typing the command “diskutil apfs updatepreboot disk2s2” I get “The Subject Volume UUID directory was not found on the APFS Preboot Volume”? Why is that? I can see the UUID directory and everything seems golden. Ugh. I tried it on the disk2s1 in case I was minsunderstanding the commands as well, but just get the same message.
I got the same issue here. Any solution yet?
Update: Got it working a few days ago; have you tried installing the new OS through internet recovery? I kept getting this error before I gave up and asked on a forum, they said to install the OS though internet recovery, and it worked perfectly for me.
Thanks for this … worked flawlessly, and saved a bunch of time and headache.
I’m having a hard time creating the preboot volume. It keeps saying could not find apfs container reference when I run the command to create the preboot. I am copying and pasting the Container disk number in between the quotes just like the command.
Thanks for this. I couldn’t get this to work at first but eventually twigged what was going on. I would suggest the following amendments to make it explicitly clear, using your terminology:-
Boot into recovery using Command+R at startup
Go to Utilities > Terminal
Run diskutil apfs list to check partitions and disk numbers
For the volume containing your OS (eg MACINTOSH HD) note your disk (eg disk2s1), your disk number (2 in this example) and your UUID (eg 00918381-A15C-3DE2-A1BF-562AC91A53EA)
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
Thank you all! I almost screwed up a customers iMac by cconverting a volume to APFS without knowing what the consequenses could be. I followed the intructions above, didn’t work at first, but found out that i probably used the wrong UUID. Second attempt it worked.
Thanks again.
You saved my everything with this. Thank you,
“Couldn’t bless the APFS preboot volume for volume mounted at /Volumes/Macintosh Hd: No such file or directly”
Getting this error for the last command :'(
Is the name of your hard drive Macintosh Hd? It could also be case-sensitive.
Thanks this just helped me a lot!
Two more pieces of clarification that I had to solve:
1) The UUID used as part of the folders created on the Preboot volume must be the UUID of the “Macintosh HD” APFS Volume, NOT the Preboot volume’s own UUID.
2) The “cp -RP …” command needs a bit more care with what is being copied to where. As stated, you will end up with the contents of the /Volumes/Macintosh HD/System/Library/CoreServices folder copied to /Volumes/Preboot//System/Library/CoreServices/CoreServices, due to the source and destination both being folders. This doesn’t work. I had to rename (mv) the first CoreServices to cs, and then “mv cs/CoreServices CoreServices” plus deleting the now empty cs folder to get the same hierarchy on the Preboot volume as the main volume. Better to leave the destination folder of the copy as “…/Library”.
Once that was sorted, the bless worked without error and the StartupDisk selection allowed the Macintosh HD to be selected before restart.