An Odyssey of Mac Recovery
Tl;dr — Mac broke, wouldn’t boot; fully restored 30+ hours later. Some may be interested in a record of the steps to recovery and the (to me surprising) extent of Apple’s recovery tools. This was the first occasion I have had to follow that road right to the end.
So this happened. Woke up Wednesday morning the 21st to a query whether OSX should install the update that had been downloaded overnight.
Said yes without even checking what kind of update it was. To date, my experience overall with updates & even upgrades of OSX had been benign. (I later learned that the update consisted of Safari 10 only.)
Machine wouldn’t boot thereafter.
Here’s the behavior: OSX collects password to unlock FileVault, goes into boot sequence, gets as far as Apple logo on white screen with progress bar (about 75%), and screen goes black. 10 seconds go by before a quick flash of logo on white; 10 more seconds; flash; rinse repeat forever.
• Tried booting into Verbose mode (hold down cmd-V at startup). This worked, and gave me visibility into what was happening in those brief flashes between the 10-second blacknesses. Each flash represented two or more lines of screen output in the Verbose mode.
I captured video of the verbosity during the failed startup, via iPhone handheld. Tried freezing the playback to discern those lines of output; but they were too blurry to resolve. The exercise didn’t tell me much.
• Tried booting into Target Disk mode (hold down T) in order to mount the Pro’s disk on another machine. This worked, but I then found that the MacBook Air I was going to use to mount the disk was new enough that it doesn’t have a Firewire port, as the Pro does; only Thunderbolt. And the venerable Pro, of course, doesn’t have Thunderbolt. And I don’t have a Thunderbolt-to-Firewire adaptor.
• Tried booting into Safe mode (hold down shift). Failed, looping; nothing changed.
• Tried booting into Single User mode (hold down S). Worked, but I didn’t know what to look for once at the BSD prompt. (In retrospect, maybe I could have checked /var/log/syslog.)
• Tried booting into Recovery mode (cmd-R). Worked. Came back to this later.
• Tried resetting the “PRAM” (now called NVRAM) (cmd-opt-P-R). No change.
• Tried resetting the SMC (System Management Controller) — hold down (left) shift-ctrl-opt and press the power button once; release all and then hit power again to boot. No change.
• Booted into Recovery mode. Ran Disk Utility and did First Aid on the disk volume and the mounted volume. No reported problems, and no change.
• Booted into Recovery mode. Reinstalled OSX over the existing install, i.e. without erasing. No change.
At this point I tried to schedule a Genius Bar appointment. There are 5 Apple stores in the Twin Cities; the earliest appointment at any of them was 3 days out! (I could have driven to Chicago, ~ 6 hrs., and gotten an immediate appointment.)
So I called AppleCare. The below steps were taken under their guidance.
• Ran Apple Diagnostics / Hardware Test: start while holding down opt-D. This downloads a minimal OS and a test suite. I hadn’t known about this capability. Pretty neat! Diagnostics ran clean; no change.
• Booted into Recovery mode. Ran Disk Utility and erased disk and restored all from Time Machine backup. The backup was from Sept. 19 so not all that much was lost. But: No change!
So whatever had gone south had happened more than 2 days back; I just hadn’t noticed because of not rebooting (my Mac showed uptime of 10 days when I had first acceded to that update). It was beginning to look as if it wasn’t the update that caused a problem, it was merely the reboot that revealed one.
• Booted into Internet Recovery Mode: hold down cmd-opt-R while starting. This downloads the recovery software from Apple’s servers and lets you install the original version of OSX that was present when your hardware was new, not the version currently running. When all had finished downloading, I noted that the OS version was Lion, 10.7. But: Lion couldn’t be installed over a later version! The Apple tech was gobsmacked. Apparently she had never seen that happen. That “original install” was the final arrow in her quiver.
Not being able to refer me to a Genius, at this point the tech gave me the number of an Apple authorized repair shop in Minneapolis: The Foundation.
I called there Thursday morning and spoke with Dan. He said I had already tried almost everything that they would do if presented with the failure I saw.
But he had one further step to try: wipe the disk totally, install fresh from the Recovery partition, create a new user account, then restore user data from the Time Capsule via Migration Assistant. (Restoring data via this route presents a way to resolve any conflicts with the user ID of the new account, vs. the one in the backup.) Presumably this would undo whatever file(s) had gotten the wrong permissions (my best guess) and were causing the boot loop.
And so it did. I have my machine back after more than 30 hours of getting my online fix through the very small window of an iPhone. AFAICS nothing broken and nothing is missing.