A couple months ago I wrote about how Windows wouldn’t boot but linux would. Back then I said I was waiting for Ubuntu 8.04 to be released before I tackled the problem and now I believe I have a better understanding of what happened and how to resolve similar problems in the future.
When installing Ubuntu Linux I installed GRUB (a linux bootloader) to the Master Boot Record (MBR). This was not a problem since you can use GRUB to start Windows without a problem. The problem was however that my PC came with a restore partition which I could use to restore the PC to how it was originally and by overwriting the MBR I removed the ability to boot from the restore partition.
My hard drive is also a SATA hard drive and I learnt that unlike IDE hard drives I needed to load drivers from a floppy in other for XP to recognize my drive when installing from a CD. This would explain the blue screen of death I received whenever trying to reinstall before I knew about the drivers. So after I downloaded the drivers and installed windows from the CD came the setup and the Windows Activation. Now since my PC did not come with a Windows CD (only the restore partition) my OEM Windows key would not work with the Windows XP CD I was using.
My search for a solution led me to Dell’s support forums. I had to create a boot CD with a program called DSRFix. This came as an ISO file which included a program called ptedit, so after I burnt the CD image I was all set. I was able to restore my MBR to its original state (I did have to use the command DSRFIX /F to fix errors found). After that I was able to reboot and press CTRL+F11 to boot into my restore partition and restore Windows to its original state.
Now that Windows was working I diverted my attention to reinstalling Ubuntu. This time I didn’t want to overwrite the MBR so I created my partitions and installed GRUB on the linux partition instead. I then used a program called BootPart to edit my boot.ini file so that Ubuntu would show up in the Windows bootloader. Note: BootPart is a DOS program so you will have to run it from the command prompt and after navigating to the program folder the command bootpart /? will give information on it’s usage.
This experience helped me understand the process of dual booting better but I would not recommend it as an exercise on a machine with mission critical data. I backed up all my data before trying this just in case. It was a time consuming fix but if you find yourself in a similar position it just might help.