Upgrade to High Sierra fails leaving the Macintosh HD unbootable
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":
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.
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.
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.