MacOS – Upgrade to High Sierra fails leaving the Macintosh HD unbootable

filevaulthigh sierramacosupgrade

I just tried to upgrade my Macbook Pro 2016 from Sierra to High Sierra, and the system hung in the upgrade process (screen was black, but keyboard backlight was still on). After I rebooted the system, it booted directly into the Recovery partition.

The Macintosh HD volume shows up greyed out when I start the disk utility, but I'm able to mount it (after putting in my encryption password). However, when I set the Startup Disk to the Macintosh HD and reboot, it still boots into the Recovery partition. Holding down the option key during boot only shows the Recovery partition as an option for bootable drives.

I'm able to access my files by booting my Mac in Target Disk mode, so at least I can recovery my files using another Mac as a last resort…

Any idea how I can recover my system?

Best Answer

I think the upgrade process failed trying to do something with the FileVault encryption on the disk, because the disk was left in a weird encryption state that wasn't bootable. I was able to recover my system by reverting the "Macintosh HD" CoreStorage logical volume back into a normal physical volume (which decrypts the volume as part of the "revert" process).

Recovery steps:

1) Boot into the recovery mode and open the Utilities -> Terminal

2) Run "diskutil cs list" and find the line that shows the logical volume UUID. For example:

Logical Volume 5ACC8C0D-005C-4693-9EC6-9F6725A42D66

The logical volume UUID in this example is 5ACC8C0D-005C-4693-9EC6-9F6725A42D66

3) Run diskutil corestorage unlockVolume <UUID> -stdinpassphrase to unlock the volume. When prompted for the passphrase, you need to input the disk encryption passphrase.

4) Run diskutil corestorage revert <UUID> -stdinpassphrase to revert the CoreStorage logical volume back into a normal physical volume.

You can see in the photo below, that the conversion process is "Paused":

enter image description here

Since we're running these commands from the recovery partition, I guess the CoreStorage volume manager isn't running by default, so this will just sit here forever in the "Paused" state without actually doing anything...

5) Open a new Terminal tab and run /usr/libexec/corestoraged in this second terminal window. The corestoraged volume manager will stay running in this second window until the volume has been completely reverted. Just leave it for now.

enter image description here

6) While corestoraged is running in the second window, switch back to the first terminal window and run diskutil cs list. You should see that the conversion process has started now! You can keep running the diskutil cs list command repeatedly to check the status. This will probably take an hour or two to complete.

enter image description here

7) Eventually, the conversion process will complete and the corestoraged process in the second tab will return to the terminal prompt. If everything worked correctly, when you run diskutil cs list, you should NOT see any volumes listed.

8) Quit Terminal

9) Go to the Apple icon, choose "Startup Disk" and pick Macintosh HD. Reboot the computer.

10) When the mac restarts, it should boot from the Mackintosh HD instead of the recovery partition. You should now be able to login as normal to the decrypted disk.