So you want to dual boot Windows and Linux on the same computerit is really quite easy. I only have enough room here to tell you the most common way to do this on a single hard drive or using multiple hard drives. Obviously then, there are many ways to get the job done, but there are some critical things you should know. Lets start with some critical information.
Windows and Linux: Same Hard DriveThe windows operating system MUST occupy the master boot record (MBR). Linux, on the other hand does not have to. In this scenario, you must install windows first! After Windows has been successfully installed, then you can install Linux. This is critical! The Linux boot loader is called GRUB. When you install LinuxMAKE SURE YOU DO NOT INSTALL THE LINUX BOOT LOADER TO THE MBR.
Configure the Windows Boot Loader: A Two Step ProcessIt is also possible to use GRUB to dual boot Windows and Linux on the same drive but this is a bit more complexthe Windows boot loader will get the job done. In the following commands, you will create a copy of the Linux boot sector and then save it in a file in the top level directory under Windows (C:).
Step 1: LinuxFrom the shell in your Linux installation (boot from your installation disks):Execute the following shell command, replacing /dev/hda3 with the location of your Linux boot partition.shell# dd if=/dev/hda3 of=/bootsect.lnx bs=512 count=1Copy the new filebootsect.lnxto a floppy disk and reboot to Windows.
Step 2: WindowsCopy bootsect.lnx to C: in Windows. Then execute the following command at the DOS prompt.C:> attrib -H -R -S boot.iniEdit boot.ini so that the first two lines are:[boot loader]timeout=30After the last line, add:c:bootsect.lnx=Start LinuxThats it, you are done! Reboot your machine and you will see a menu allowing you to select either Windows or Linux. Congratulations.
Windows and Linux: Two Hard DrivesThis is also quite easy. In this case, you will boot to the Linux drive. We will add Windows to the Linux boot loader (i.e., GRUB). GRUB is my favorite boot loader.
Edit the /boot/grub/grub.conf file. One of the very first lines should contain:timeout=30After the last line add:title Start Windowsmap (hd1) (hd0)map (hd0) (hd1)rootnoverify (hd1,0)makeactivechainloader +1Reboot your machine to the Linux drive and you will see a menu allowing you to select between Linux or Windows. Nice work!This article is obviously short and does not include any explanations of how these commands work. There are variations on what I have shown here depending on your hardware setup, but I believe that these are the most common and should get the job done nicely. I would be happy to direct you to additional resources if this does not work for you.