How to repair a Windows registry error with Puppy Linux
Posted: Mon 12 Jan 2009, 22:02
I had put together a Windows computer for a friend and she ran into a problem and I got to fix it. It seems she has encountered the "blue-screen of death." Symptoms: the computer would start, begin booting Windows, a registry conflict would occur, the blue-screen error message would flash up for a split-second and the computer would reboot. This would happen indefinitely.
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:
That's fdsik -list so it tells you what is on every partition of your drive. In this case we are going to assume that your NTFS drive was /dev/sda1, which mine was.
Mount NTFS filesystem:
You will need to mount your Windows partition to backup your corrupted registry files. To do this run the following commands
In Ubuntu this is much more complicated than in Puppy 4.1.2, what with "sudo" this and that and I've always thought that Puppy had much better ntfs support which, in this case, it does.
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
At first this kicked back an error message saying it couldn't do that. I then unmounted the partition:
...and ran the ntfsfix command again. That worked as ntfsfix then mounted it and prepared it to be checked on the next reboot. If that still gives you an error message, reboot your system back into Puppy, then run the command on the correct partition. This way it will be ready to check on the next Windows reboot.
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!
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!