There are a million reasons why Microsoft Windows XP won't start up. Usually it's your profile that screwed up (because you installed something funny) - if you could get into Windows, you could use the system restore controls to restore an older profile. But you can't, and you don't want to reinstall Windows all over again, do you? Didn't think so. Here's how you can manually restore an old profile...

First of all, you'll need your original Windows XP Professional (if you're using Win XP Home edition please read the footnote) installation CD. Insert the CD into your CD drive and restart your machine (usually your PC will startup from the CD but if it doesn't you'll need to have a look around your BIOS). Windows setup will start and it'll load various drivers it needs - just sit tight for a few minutes. Eventually you'll come to a screen which asks if you want to install Windows. Just press 'R' for the recovery option and you'll be taken to the recovery console.

You should see a screen that looks like this:

Microsoft Windows® Recovery Console

The Recovery Console provides system repair and recovery functionality.
Type EXIT to quit the Recovery Console and restart the computer.

1: C:\WINDOWS

Which Windows Installation would you like to log onto (To cancel, press ENTER)?

Press '1' (or whatever number is the correct Windows folder) and then ENTER. You'll then be prompted for the administrators password - type it in and press ENTER. Ok, you should now have an old DOS style command prompt.

Windows very kindly keeps a "repair" profile hidden within it's depths. We're going to restore this first so we can access Windows. Once into Windows, we'll concentrate on restoring the last working profile so everything will be back to normal. One last thing to note, commands may be broken onto 2 lines - they should be on 1 single line - I've used extra spacing here to help show them. Ok, let's start - type in the following commands...

Md bak

Copy c:\windows\system32\config\system c:\windows\bak\system.bak

Copy c:\windows\system32\config\software c:\windows\bak\software.bak

Copy c:\windows\system32\config\sam c:\windows\bak\sam.bak

Copy c:\windows\system32\config\security c:\windows\bak\security.bak

Copy c:\windows\system32\config\default c:\windows\bak\default.bak


Delete c:\windows\system32\config\system

Delete c:\windows\system32\config\software

Delete c:\windows\system32\config\sam

Delete c:\windows\system32\config\security

Delete c:\windows\system32\config\default


Copy c:\windows\repair\system c:\windows\system32\config\system

Copy c:\windows\repair\software c:\windows\system32\config\software

Copy c:\windows\repair\sam c:\windows\system32\config\sam

Copy c:\windows\repair\security c:\windows\system32\config\security

Copy c:\windows\repair\default c:\windows\system32\config\default


Ok! That's the safe repair profile copied into the place where the damaged one was. Type EXIT and press ENTER - the PC should now reboot and Windows should fire up without any problems. You might think we're done, but we're not quite yet. Windows is running on an old safe profile - we're going to put back your own last working one so that you get all your settings back. Read on...

Windows stores a series of profiles automatically as a kind of backup. Unfortunately, it hides these profiles from the average user in a special folder. First of all, we'll need to get access to this special folder...

1. Start Windows Explorer

2. Click the Tools menu then Folder options

3. Click the View tab at the top

4. In the Advanced Settings box, tick the Show hidden files and folders box

5. Also in the Advanced Settings box, untick the Hide protected operating system files (Recommended) box

6. Click Yes when the warning is displayed and then click OK

7. Back in the Explorer window, click on your system drive (usually C)

8. Open the System Volume Information folder. It may appear slightly different to the other folders - this is because it's a hidden folder

9. If you can see the contents of the folder without any problems, skip to 10. If not, you're using NTFS which has some special permissions set to the folder. Not to worry, we'll update the permissions. Right click on the System Volume Information folder and choose Properties from the popup menu. Then click on the Security tab. Click the Add button and in the Enter the object names to select box, type in your Windows logon name (you can get this by clicking on the Start button - it'll be at the top of the Start menu). Click OK twice. You should be able to access the folder now.

10. There should be a few folders with names like:
_restore{8B0A6764-E743-4BAE-B586-501ABF776DE8}

Open one of the _restore... folders that wasn't created around now (this is a backup of the new repair profile we're using now). You'll probably need to click on the View menu and then Details in Windows Explorer to see when the folders were created. Open up the next newest folder. There should be a few folders inside starting with RP. The RP folders contain the actual system restore points. If you need to, change the View to Details again and figure out which folder contains the most upto-date profile - without being the damaged one! Usually if the folders go up to RP10, RP10 will be your damaged one, so choose RP9.

11. Open up the Snapshot folder within the RPx (x = some number) folder and copy these files to your C:\WINDOWS\bak folder:

_REGISTRY_USER_.DEFAULT
_REGISTRY_MACHINE_SYSTEM
_REGISTRY_MACHINE_SOFTWARE
_REGISTRY_MACHINE_SECURITY
_REGISTRY_MACHINE_SAM

Ok, now for the fun part. We need to go back to the repair console and swap these files for the repair ones we swapped earlier. Once it's done, you're a reboot away from having your system back! So lets get on with it...

Reboot your system with the Windows XP installation CD in the drive. Boot from the CD again and wait til you return to the option menu. Again, press 'R' to start the recovery console. Follow the instructions from above until you get to a command prompt.

Now enter these commands:

Del c:\windows\system32\config\default

Del c:\windows\system32\config\system

Del c:\windows\system32\config\software

Del c:\windows\system32\config\security

Del c:\windows\system32\config\sam

Copy c:\windows\bak\_registry_user_.default c:\windows\system32\config\default

Copy c:\windows\bak\_registry_machine_system c:\windows\system32\config\system

Copy c:\windows\bak\_registry_machine_software c:\windows\system32\config\software

Copy c:\windows\bak\_registry_machine_security c:\windows\system32\config\security

Copy c:\windows\bak\_registry_machine_sam c:\windows\system32\config\sam

And you're done! Reboot and voila! Windows should start fine. But "ARRGH!" it's got all your old settings?! Don't worry, you just picked an old system restore point to work from. You can go into Start -> Programs -> Accessories -> System Tools -> System Restore and restore any restore point you like - just watch out for the last damaged one!



Note for Windows XP Home edition users
Ferenczy pointed out that Windows XP Home edition doesn't have a recovery console. I don't have a copy of Win XP Home to experiment with. If any of you have any advice for Win XP Home users, please let me know and I'll add it to the tutorial. Thanks.

This has saved my life on two occasions (and counting!) so I'm sure it'll help somebody else. Any feedback welcome.

Log in or registerto write something here or to contact authors.