I finally decided to upgrade my MacBook’s hard drive from 60 GB to 120 GB. In preparation, I first cloned the old hard drive to an external hard drive. After cloning, I booted my MacBook to the external hard drive. The booting process seems to be OK. However, I couldn’t login to the system using any user!
That’s very strange. I have used Carbon Copy Cloner to clone quite a few machines and this is the first time I ran into this problem. So, I looked at the online help, and luckily there is a fix for it. Here is the excerpt from the help.
Reboot into single-user mode (hold down command+s during boot). When prompted, type:
[repeat until it no longer says that the Filesystem was modified]
mount -uw /
mv local.nidb local.nidb.bak
As the system boots, you will get the Apple Setup Assistant. Enter your name, password, etc (be sure to use the same short name). You should be able to get in just fine now.
The basic idea is to delete the netinfo database and let the system re-create a new one when you login. That’s a lot of works to do considering you have to re-create all the user accounts and make sure the new user accounts match the old accounts.
I get the idea that the netinfo database wasn’t cloned properly, but how bad is it? I booted up the machine using the original hard drive and I used Terminal application to investigate the difference between the original netinfo database and cloned one. I found that all the files in local.nidb folders are the same, except there is one extra “Index” file in the cloned local.nidb directory. I deleted that file and rebooted the machine using the external hard drive. Guess what? It worked! Here are the steps:
- Reboot the machine using the original hard drive with the external hard drive attached.
- Open up Terminal application.
- Type the following using Terminal. Note that my external hard drive is called MAC. You need to substitute it with your hard drive’s name.
The next time you boot the machine takes a bit longer but it’ fine and you don’t have to re-create user accounts.
This post may contain affiliated links. When you click on the link and purchase a product, we receive a small commision to keep us running. Thanks.
I got the same problem with you. After reading your article, I tried the method you suggested and finded a extra file name “store.1056” which different from yours when compared with my original hard drive. However, I moved that file out of the local.nidb folder and restart. It works!!! Thanks for your kind help. You’re great!!
Yeah, so the files inside the local.nidb directory are going to differ for each computer. You have the problem correctly pinpointed, but each person is going to have to manually replace the target HD’s local.nidb with the Source HD’s local.nidb.
Get to know your ditto -V -rsrc Terminal commands people!!!
As well, if you want to look at the files in your local.nidb folder, get to know your ls command!
Thanks amida & Akau!!!
Thank you for the info… I encountered this problem cloning a 10.4.10 system… after the clone i had to ditto -V -rsrc the orginal HD’s local.nidb folder over to the external HD. Everything worked fine after 🙂
if “ditto” does not work, and you still cannot logon, you can reset the admin password (or the password of any other user(s) you want) via the command line, single user boot.
follow this through to the end of step 4:
Following through to step 4, makes sure that the needed NetInfo services are running.
Then, use the “passwd” command to change the admin user, like so:
passwd -i netinfo admin
you will be prompted for the password twice, etc. When you reboot the new password should be working.
Once you have admin rights on the box, you can then fix all the other users’ login problems.