Random header image...

Couldn’t find root user? Oh my.

by weave on March 14, 2010

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.

Leave a Comment

Previous post:

Next post: