At my other job I was given a Mac laptop to fix that wouldn’t boot. It just sat there on the spinning wheel and never came to the logon screen. So first thing I did was to boot in verbose mode by holding CMD-V down after the boot sound. This shows boot messages. Doing this revealed the boot process was looping with an error message of:
Couldn't find root user. Sleeping and trying again.
I tried Googling for it and didn’t get promising results. Only fix is to re-install. But I was not discouraged. Besides, re-installs are a pain because all programs need to be re-installed and all settings are lost — plus you can lose all user data if not careful.
So I rebooted the Mac into single user mode by holding down CMD-S after the boot tone. This allows you to poke around the file sytem — if you are comfortable with Unix or Linux.
Consensus on the few items I found online was that it’s a problem with netinfo and to remove the directory from /var/db. I made a backup of that directory first, tried it, and still didn’t help.
Thankfully, a lot of Mac OS X is open source code named Darwin. The error message was being produced by the memberd program. Going back into the open source archive at Apple for 10.4., I found the error message and confirmed it was trying to do something with the directory service. So I hit a dead end — for a bit.
I rebooted and followed the boot messages and further upstream in the messages was another error from dyld saying it couldn’t load libz.1.dylib. I went into /usr/lib and lo and behold, found a bad symlink….
libz.1.dylib -> ?~
Bingo! I relinked it to the actual library file that was in the same directory
ln -s libz.1.dylib libz.1.2.3.dylib
Rebooted the Mac, and IT WORKED!!!!
So here’s hoping if someone else gets stuck with a similar problem on an older Mac running Tiger (10.4) and Googles the message like I tried, they’ll happen upon this and it will hopefully help.