The Dev Pages

A knowledge base for web applications development (and beyond)

I wanted to offer some more clarity on converting a hard drive to the AFPS format, for upgrading from Mojave to Catalina, or something similar. I could not upgrade without doing so. I was surprised at how technical the process was, but I think it’s manageable for most people. Though terrifying to have to adjust boot settings (back in my windows days this was a non-recoverable screwup at times). After a successful conversion to AFPS, I could not boot out of recovery mode and would get the “Running bless to place boot files failed” error.

First convert the Hard Drive

  1. Any backing up, I would make sure to do before converting. I put that off, and ended up being fairly nervous when my OS would no longer boot 🙂 Luckily, I ended up back with the same OS with a converted hard drive and proceeded to upgrade.
  2. For me, I had to boot in recovery mode to get the option I needed. Restart your Mac and hold down Cmd+R to boot into recover mode.
  3. Launch the Disk Utility app from the options.
  4. Select your hard drive and then its main volume, then unmount it (I had to do this to get the convert option to be enabled).
  5. Select Edit then Convert to APFS
  6. It should convert after about two minutes and you can reboot.

At this point, I restarted and found my Mac would always boot into recovery mode. When I selected the main hard drive and tried to restart from that, I got an error, indicating “Running bless to place boot files failed.” There were some helpful sites, but the instructions didn’t quite match up for me, and the more technical part of creating a folder with the hard drive’s unique id was not very clear. The following are the steps I took, but see: and (You may be able to do this in a shorter number of steps than me)

  1. In recovery mode open the terminal from the menu Utilities -> Terminal.
  2. List the hard drive info with diskutil apfs list
  3. If you’re like me you already have a preboot volume. But apparently you may need to create one with diskutil apfs addVolume disk"Disk Number here" apfs Preboot -role B
  4. The steps in the articles I was seeing got less clear to me here. Props to the existing info, but I wanted to add my two cents. At this point I needed to copy existing preboot files into another preboot folder. Before I could use a copy command, I had to create a new preboot folder with the UUID of the hard drive volume disk2s1 (or whatever your main apfs partition is listed as in the diskutil afps list command. UPDATE: The UUID to use should be the that of the primary partition (and not the pre-boot partition) – thanks to opherko. The command I needed was: mkdir -p /Volumes/Preboot/<The UUID, a long alphanumeric id>/System/Library/CoreServices
  5. At that point I could do cp -RP /Volumes/<Your hard drive name here>/System/Library/CoreServices /Volumes/Preboot/<The UUID>/System/Library/CoreServices. It would seem to me you are copying your old, functioning boot files into a new boot folder for your converted hard drive. Perhaps temporarily until another process adjusts things. Make sure, as noted above, that the UUID is the primary partition’s UUID.
  6. Now you can run the update commands for the preboot. Replace disk2s1 with your disk: diskutil apfs updatepreboot disk2s1
  7. Run the bless utility: bless --folder /Volumes/<Your hard drive name here>/System/Library/CoreServices --bootefi --verbose
  8. You may need to use the Startup program to assign the boot partition when exiting the utilities.
  9. At this point I was very relieved that upon trying to reboot, you should no longer get the error “Running bless to place boot files failed.” and the OS should start. For me, I was back in Mojave, with all my same files on a hard drive that was now formatted for AFPS, where I could proceed to install Catalina. Hopefully this informs a successful end result for someone else out there.

  1. Cody Said,

    I get an error “Couldn’t bless the APFS prévoit volume mounted at /Volumes/Mac: no such file or directory

  2. opherko Said,

    This was helpful. I went through the same websites as you looking for a solution when updating an old Macbook Pro to Catalina that had not previously update to APFS on an aftermarket SSD. Your steps are the most clear that I’ve seen but from prior instructions the UUID I used for the Preboot partition was the UUID of the Preboot partition. This is wrong, it should be the primary partitions UUIS. Probably the first listed partition on your disk. And yes it does matter that the UUID match. When you run updatepreboot on disk2s1 it checks the preboot partition for the corresponding UUID in the path. Once I completed the command from the Disk Utilities Terminals I still had to use the Startup program to assign the boot partition when exiting the utilities. If you just reboot from Terminals you go right back into the utilities.

  3. Nate Admin Said,

    Excellent, excellent follow up info. I have updated accordingly. Sorry for the delays, the site is in sort of a resurrection mode and needs some updates!

  4. Nate E Said,

    Hi there, thanks for this great walkthrough. It clarified some confusing parts of the “teck” website post. I’m running into a roadblock when I try the cp – RP command. It gives a really long list of files and says “no such file or directory.” I’m not sure if it’s not finding the source files or the new directory where they are supposed to be copied to. Any idea as to what is going wrong? I did double check that I am using the ID from the main boot drive (s1) when creating the directory. In my case, it is an external SSD that I am booting from. Thanks for any help.

  5. Nate Admin Said,

    I couldn’t offhand think of a resolution to the cp -RP issue, but I didn’t want to follow up after realizing cp errors have come up in more general settings. For whatever reason the subfolder for your hard drive in /Volumes must not have been what I would have anticipated. Whenever I see a “no such file or directory” error it can help to try and list (ls) what DOES exist and change my cp command accordingly, keeping in mind the autocomplete of hitting the tab key can be useful. If one were to do ls /Volumes/, and show what Volumes do exist, that might help troubleshoot. But in this context it is hard without being back in the steps, and knowing which Volumes folders we need to specify. I hope it worked out and sorry for any delays in helpful feedback.

Add A Comment