This is so stupid.
It all began earlier today. I was logging out of my OS X account and it was taking its sweet time. I was in a hurry. I turned the Mac off with the power button, mid-logout. This is a basic thing that you shouldn’t do. Untrained, blind squirrels know this. But I did it anyway, and boy do I regret doing it.
The next time I start the computer up. Usual grey Apple logo, pinwheel. Usual plain blue. Usual “Starting Mac OS X…” window. Usual progress bar filling up. Usual “Starting Mac OS X…” window never disappearing. Hey, wait a minute.
Restarting. Same thing again. Restarting. Removing the battery. Waiting for a while. Trying again. No dice. Run Apple Hardware Test - passed all without a complaint. This is good, because we know hardware is not responsible, and fixing hardware can be hell. This is very, very bad, because OS X system innards are in the cards, and fixing that… well, it’s hell on a nice day.
It’s at this point, then, that we descend into OS X startup hell. Startup in Safe Mode. Slow, and no dice. Startup in Verbose mode. Even fewer die. Normal startup via Single-User Mode (pure root startup)… you guessed it.
However, via Single-User Mode (SU, from here on), I could check what was happening. My files were still there (phew). So I removed /var/db/.AppleSetupDone from SU. When booted, Mac Buddy (Setup Assistant) run, but it hung during the introduction video. Three times. At the same part. With the sound continuing. Hmm.
From SU, I renamed the NetInfo database (found at /var/db/netinfo/local.nidb) so that OS X would recreate it on boot. It did, but the problem was still not fixed. Boot from Tiger DVD - repair disk, repair disk permissions, reset password (my own, not root), set startup disk.
All possibilities exhausted, I did an Archive and Install. I created puppet users for my existing users (of the formula olduser2), and, with the help of themselves, altered the NetInfo database to remove the 2s on other users (and affiliated groups).
I’m now in some sort of alternate reality. Some settings are missing. Mail buttons are again caged like animals - Mail was reinstalled. iScroll2 did not, too, scroll - /System/ was archived, and drivers hang out there. Growl was running, but its prefpane was gone. Textpander was retained, but not enabled.
One can only hope that in this reality, I will in the future wait the extra minute for OS X to log out.
Or you could just do what I do and never turn your computer off, even when you take it with you places. Sleep mode is how the real men do it.
13:07 up 28 days, 4:10, 3 users, load averages: 0.88 0.82 0.50
By Jesse Endahl · 2006.02.22 22:08
As I explained to Jesse in person, the purpose was never to turn the thing off, but to quickly get to the state of not being logged in to any one user. At the moment, waiting for the log out to finish or getting the machine to turn off were both perfectly clear means to accomplish that goal, and turning the machine off “cleanly” also requires logging out.
I feel compelled to note that my uptime was since the latest OS update (10.4.5, released on February 14th, and installed immediately).
By Jesper · 2006.02.22 23:17
Found your site via daringfireball… In my experience, deleting /Library/Preferences/com.apple.loginwindow.plist usually fixes this issue.
By charlie · 2006.02.23 17:24
Charlie, I can’t believe why I didn’t think of that. But I’m almost happy I didn’t - which I’ll post about soon.
By Jesper · 2006.02.23 19:42