you could try doing this one.
How to Recover from a Corrupted Registry that Prevents Windows XP from Starting
When you try to start or restart your Windows XP-based computer, you may receive one of the following error messages:
Windows XP could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SYSTEM
Windows XP could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SOFTWARE
Stop: c0000218 {Registry File Failure} The registry cannot load the hive (file): \SystemRoot\System32\Config\SOFTWARE or its log or alternate
The procedure described in this article uses Recovery Console, System Restore if the restart gives any error when it booted to Desktop, and lists all the required steps in specific order to ensure that the process completes fully. After you complete this procedure, the system should return to a state very close to the system before the problem occurred.
I. Boot to the Recovery Console
To run the Recovery Console from the Windows XP startup disks or the Windows XP CD-ROM, use the following steps:
Insert the Windows XP startup disk into the floppy disk drive, or insert the Windows XP CD-ROM into the CD-ROM drive, and then restart the computer.
Click to select any options that are required to start the computer from the CD-ROM drive if you are prompted to do so.
When the "Welcome to Setup" screen appears, press R to start the Recovery Console.
II. Manually copy system restore files
At the Recovery Console command prompt, type the following lines, pressing <Enter> after you type each line:
NOTICE:
(all commands to be typed in command prompt are in BLUE color for clarity of the content, and pressing the <Enter> key is required for executing each command at the recovery Console)
cd \ ( Note: between "cd" and "\" there should be a "blank space" else the command won''''t work )
2. cd system~1\_resto~1
NOTICE:
The appropriate command should be used according to the error message aka if the file "system" is corrupted use the first command or if the file "software" is corrupted use the second command line.
If it gives an error "Access Denied" while accessing the folder, follow the method below
cd \ <Enter>
cd windows\system32\config <Enter>
ren system system.bak<Enter>
exit<Enter>
now restart the computer and follow step I of the article.
3. dir
NOTICE:
when you hit <Enter> it will list all the restore points folders like rp1,rp2................ we have to see the last restore point to copy the file from a recent backup. if the restore points have more than one page then u have keep on hitting the <Enter> key to view the last restore point folder.
NOTICE:
It is a good rule of thumb to choose the files from the restore point folder which the second last one.
4. cd rp {the last restore point no. } (Note : Example : cd rp9, if rp9 is the last restore point, where last restore point no.=9 )
5. cd snapshot
NOTICE:
Now the command Prompt will look like this c:\system~1\_resto~1\rp9\snapshot> ( Note : restore point 9 assumed for clarity of the content, you have to goto the last restore point folder as described in the previous lines) Now according to the error message we have to copy the appropriate file from the restore point folder.
6. copy _registry_machine_system c:\windows\system32\config\system
or
copy _registry_machine_software c:\windows\system32\config\software
7. Type Exit to restart computer and boot to the harddrive normally.