Couldn’t find root user? Oh my.

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.

3 thoughts on “Couldn’t find root user? Oh my.”

  1. Hey Weave,

    I am having a similar (the same) problem. However, I entered in “ln -s libz.1.dylib libz.1.2.3.dylib” and the prompt reads “…: File exists”. Could the same problem exist with a different libz file? Any help would be great.


  2. It’s been ages since I wrote that blog entry and I abandoned that project quite a while back.

    Usually a generic filename for a library like libz.1.dylib is symlinked to a specific version. If your “file exists” is talking about libz.1.dylib then you’d have to remove it before re-symlinking it. (I’d recommend renaming it though just to be safe)

    Hope this helps.

  3. Sorry for resurrecting this project again. But I recently came across a problem with striking similarity.

    I keep restarting the computer to try and see the error that it is producing, but I can’t find it. Do you know how the error would be listed? If so, could you list the context that i should be able to find it?

    Thanks for your time in advance,

Leave a Reply

Your email address will not be published. Required fields are marked *