I found this solution to repair a registry using an Ubuntu livecd. Although Ubuntu was one of my first Linux's, and it had its points, Puppy is the way to go for me.
For example, if you follow the steps on the Ubuntu Forum (which I did) yet you use a Puppy livecd, 4.1.2, your life will go much easier as everything is already included with Puppy. So, my hat's off to the person that figured this out on the Ubuntu forum (kerrnoPanic), but I've modified the instructions using a Puppy Livecd.
Oh, if you do this on your own, you assume complete risk of everything. This should be a given, but can sometimes get missed. When you mess with the registry, you can screw everything up if you do it wrong. However if, like me, your computer was already screwed up, then you have nothing to lose. This is what I did:
Summary: essentially what you are doing is relying on the fact that Windows does a registry backup periodically. All we are doing is copying the old registry files to replace the current corrupted ones, making the system reboot and check itself, thus fixing the registry.
Find out what drive is the NTFS drive:
The easiest way I've found is, from terminal run:
Code: Select all
fdisk -l
Mount NTFS filesystem:
You will need to mount your Windows partition to backup your corrupted registry files. To do this run the following commands
Code: Select all
mkdir /mnt/windows
mount -t ntfs /dev/sda1 /mnt/windows
Replace these files:
You might want to back up the files in /mnt/windows/WINDOWS/system32/config/ before replacing them just in case this is not a registry problem.
Now look in /mnt/windows/System Volume Information/_restore{xxxx}/ and you will see a whole bunch of registry backup folders, each RP(somenumberhere). I found that if you picked one of the ones with an early number you had a better chance of avoiding the registry error that has given you this proble in the first place. So, I picked one of the folders a few options back, not the oldest one.
Now copy the following files from the /mnt/windows/System Volume Information/_restore{xxx}/RPxxx/snapshot/ dir:
_REGISTRY_USER_.DEFAULT
_REGISTRY_MACHINE_SECURITY
_REGISTRY_MACHINE_SOFTWARE
_REGISTRY_MACHINE_SYSTEM
_REGISTRY_MACHINE_SAM
to the /mnt/windows/WINDOWS/system32/config/ dir and rename them as follows:
_REGISTRY_USER_.DEFAULT => default
_REGISTRY_MACHINE_SECURITY => security
_REGISTRY_MACHINE_SOFTWARE => software
_REGISTRY_MACHINE_SYSTEM => system
_REGISTRY_MACHINE_SAM => sam
I noticed that when I renamed the "default" file I ended up with a file called "default.DEFAULT" and that seemed to work prefectly.
Schedule a consistency check:
Run this command to schedule a NTFS consistency check for the first boot into Windows
Code: Select all
ntfsfix /dev/sda1
Code: Select all
umount /mnt/windows
Reboot into Windows twice:
The first reboot you should get a blue screen telling you that you should run a filesystem consistency check. Let the check run and then the second reboot should bring you back into a bootable Windows.
Once I got the copy right and then rebooted, it checked the system perfectly then rebooted great. I was pleased at how easy this was to do with the Puppy 4.1.2 livecd.
Hope you have as much luck with registry repair as I did and then you will have conquered the infamous blue-screen of death!