The past few days have been especially unproductive. My Mac’s hard drive is dying — again, but this time apparently for real.
The odd thing is that while the drive is obviously dying, it has logged zero SMART errors. All the usual culprits — reallocated event count, offline uncorrectable, and UDMA CRC error count — are zero. Yet I can’t even get a short offline test to run — it always interrupts at 20% with a “Host reset”.
In any case, I managed to finish a Time Machine backup, after getting a large drive and running Time Machine for three days. Then I got another smaller drive, restored the backup onto the smaller drive, and — Voilà… it did not work.
Putting the boot into verbose mode showed “Waiting for DSMOS”, which is essentially just a mystery error. It turned out that Time Machine excluded /private/var and so almost 2GB of files were missing. Since the internal disk was not dead yet, I was able to copy all the missing files (plus more missing files in /Library/Caches) to the external drive. This time it finally booted — slower than before, but at least it booted.
Getting the “Waiting for DSMOS” mystery solved was major frustration, especially since lots of things in MacOSX are either undocumented or, in single user mode, simple don’t work. Some things are so broken it just doesn’t make any sense: For example, I managed to corrupt the new disk’s HFS+ journal simply by remounting it read-only, then I found that fsck was not able to see there was corruption, nor was able to clear the corruption (if fsck -fy fixed all problems, then it can reset the journal, but didn’t). Clearing the journal required venturing into the recovery disk — which now takes forever since the internal disk is dying — to run the diskutil command, which in Apple’s infinite “wisdom” does not work in single user mode.
If you think Apple is just neglecting the command-line interface, then you are wrong. When I first tried to install Lion onto the external drive I gave up after 5 minutes, because I could not connect to my school’s Wi-Fi network. I was able to type in my user name and password, but it was asking me for a keychain user name and password, which in recovery mode of course do not exist. The GUI was just as neglected as the command line.
My skepticism of Apple products used to be solely based on their decision to not use X11 as their GUI’s foundation, but this debacle has caused me to become even more skeptical. Their recovery tools are completely neglected — not only the command-line based single user mode, but the 100% graphical Recovery Disk interface. The Mac has turned out to be even less tested than I thought.
No wonder the new iPhone has problems; it’s a miracle if it didn’t.