Booting macOS Mojave From an External SSD

What does it take to banish the Spinning wait cursor, with thanks to Charles Aroutiounian from a 2014 Mac mini?

It Just Works – But Not on This Mac

My Mac mini with its spinning-platters boot volume was dog-slow. Simply changing focus from one application to another would trigger the beach ball. I forget when this started, but the cause, as far as I could tell, was the operating system itself. Maybe constant Spotlight indexing was to blame?

The most satisfyingly spiteful fix would be to install an operating system that was actually designed for the Mac mini. But the whole reason for having the mini was to be able to run a couple of macOS-specific applications.

External SSD + High Sierra = Happiness

Other Macs, with Fusion drives and internal SSDs, performed just fine. Perhaps an external SSD, connected via USB 3.0, would make the mini more responsive.

High Sierra was current at the time. I connected a Western Digital 512 GB My Passport SSD to one of the USB ports, formatted it to HFS+, installed High Sierra on it, and set it as my boot volume. The mini began responding like a real Mac again. Goodbye, beachball, and good riddance.

Mojave, APFS, Unblessed External Volumes

Then along came macOS Mojave, and before long it seemed like everything was broken.

The mini reverted to booting from the internal, dog-slow drive. Mojave had reformatted the SSD to APFS, but the only way I could boot from it was to restart while holding the Option key.

Whenever I applied a macOS software update while booted from the SSD, the update would proceed smoothly. But then the mini would reboot from the internal drive, and the update was nowhere to be seen.

I eventually noticed that the now-APFS-formatted SSD was not "blessed" as a boot volume. This seemed to be the root of all of these problems. But I couldn't seem to "bless" the SSD.

A Solution (?)

Yesterday, the web explained how to get things working again. (At least, I think it did. Time will tell.) Many thanks to the authors of this thread on developer.apple.com. It was written for Sierra / High Sierra and APFS, but with minor mods it worked for me.

I wish I'd taken better notes. Following a procedure like this, without example output to help keep one's self oriented, can be uncomfortable. Nevertheless, here's a recap of the procedure I followed.

  1. Shut down.
  2. Boot from the Mojave recovery partition by holding ⌘-R while powering up.
  3. Open Disk Utility.
  4. Select the external Mojave volume and select Edit > Convert to APFS…
  5. Quit Disk Utility.
  6. Reinstall Mojave over the initial install. (Happily, this didn't trash any applications or user files.) I think this step is the one that makes it possible to bless the external volume; but the step will end in an error sheet that says the volume could not be blessed.
  7. Open Terminal via the Utilities menu.
  8. Use diskutil apfs list to show a list of volumes that are formatted to APFS, and to find the "/Volumes/name" for the external SSD. I'd named mine "External Boot", so it was listed as "/Volumes/External Boot".
  9. diskutil apfs updatePreboot "/Volumes/External Boot".
  10. Exit terminal.
  11. Open Disk Utility. Run first aid on the external boot volume.
  12. Using I-forget-which user interface element, select the external boot volume as the boot volume.
  13. Reboot.

The mini rebooted from the external SSD. Huzzah.

System Preferences > Software Update no longer showed 10.14.2 as an available update; I forget why. But a little rooting around on https://support.apple.com uncovered a download for the macOS Mojave 10.14.2 Update. It installed successfully, and afterwards the mini was still willing to boot – even without a human pressing the Option key - from the external SSD.