Starting off with a replaced internal SSD on a MacBook Air, it doesn’t boot, obviously. It is necessary to boot into “Internet Recovery Mode” by selecting
Command-R at startup, or, as I did,
Option-Command-R to recover onto High Sierra.
I erase the disk in Disk Utility and select to install macOS High Sierra. After a few seconds I am greeted with the error:
The Recovery Server Could Not Be Contacted
A number of possible solutions are listed on the Mac OS X Blog. I used the first one, except that using
sudo was not possible (command not found ?); I ran
date in the Terminal which confirmed that the date was wrong, then I updated it using Apple’s time server (without sudo):
% ntpdate -u time.euro.apple.com
date once more to check that the date & time has been updated.
Back in the High Sierra installer, I get asked to select a destination Disk, but my internal SSD cannot be selected, because:
This disk doesn’t use the GUID Partition Table Scheme
The solution is to use Disk Utility to erase the drive, but in the High-Sierra version of Disk Utility, I had no such option to select the partitioning scheme!!! The Partition button is disabled.
I eventually solved it by rebooting into the old recovery mode (Command-R) and using Lion’s Disk Utility to reformat the drive, before returning to the new recovery mode (Option-Command-R). Checking again in Disk Utility looks fine.
The following steps are:
- Create a default (admin) user as part of the installation, but don’t use the usual name to avoid conflicts later. Try "Migrator".
- Do NOT create a standard user.
- Connect the Time Machine Backup drive and enter its password.
- Launch Migration Assistant and restore from the Time Machine backup.
- Restore all files, including those of our standard user (write down the temporary password). Promote the admin user to be admin.
- Wait for an hour...
- Re-install applications (which have not been backed-up).
- Login, change password, re-authenticate iCloud.
Correct file ownership of the Things database, from the admin account:
% sudo chown gollum "/Users/gollum/Library/Containers/com.culturedcode.things/Data/Library/Application Support/Cultured Code/Things/ThingsLibrary.db"
Delete the Migrator user.