If you've ever tried to set up a dual boot system, more than likely you have also managed to mangle the master boot record (MBR) of your main system drive at least one time. Once corrupted you typically have a couple of options. One of the most obvious ways is to boot from a CD-ROM distribution and reinstall the OS. It's probably not the quickest fix but it usually does work. You could accomplish basically the same thing with a bootable USB disk if you happen to have one.
Super Grub Disk (SGB) is a handy alternative that works in a few seconds. You'll find versions you can burn to a CD-ROM, USB disk or floppy disk. Booting from one of these media devices presents you with a menu of options that should help you get your system configured properly. It's also a tool capable of leaving your system unable to boot if you set the options wrong.
The key to using it correctly is to understand how a disk drive is organized and what you need to do to get it to boot properly. Wikipedia has a good description of how individual disks are partitioned. It's a good place to start if you don't have a basic understanding of things like the MBR, primary and extended partitions and the different partition types.
Every PC goes through a process when you turn the power on called the boot process. One artifact of the original PC design is something called the Basic Input Output System or BIOS. This is typically kept in a Read Only Memory (ROM) or Flash ROM that can't be altered without running a special program to change it. When the computer wakes up it starts trying to execute instructions at a fixed location -- the first address of the BIOS. After the BIOS does its thing it hands over the process to the boot loader.
That's where GRUB comes in. The name GRUB comes from a project named the Grand Unified Boot loader. It's the primary boot loader used in all the mainstream Linux distributions. In most cases GRUB is loaded into the MBR of a disk drive and is passed control from the BIOS. GRUB can also run from a floppy disk or other removable media.
GRUB is unique in that it comes with a menu of options and even a command prompt if you need to interact with it. The options menu is driven by a structured text file that you can edit and change to meet your needs. GNU GRUB is the name of the open source project with the goal of improving the overall boot process to make it faster and more secure. Check out their web site and wiki for more information on GRUB itself.
If a computer won't boot at all (blank screen) or gives some type of error during the process, there's a good chance it has something wrong with the MBR. A corrupted MBR could happen in a number of different ways including a hardware failure. If the disk has developed a bad block in the MBR portion of the disk, you might just have to get a new system disk. Wikipedia has a good entry explaining all the details of the MBR and what you should expect to find if you go looking.
There are essentially two ways of creating a dual boot system. Both involve installing the different operating systems into their own partition either on the same disk or on separate disks. The easiest way only works if you have two hard disks available. In this case you simply put one OS on the first drive and the second OS on the second drive. The installation process is then free to use all the space available on that drive.
The problems tend to start when you do the multiple installations. As a general rule the last OS installed typically loads its boot code into the MBR while potentially ignoring a previously installed OS. This is a common occurrence when installing Windows after Linux. SGD can easily fix this problem with a few simple menu commands. Windows antivirus software can also get in the way and remove your GRUB boot.
The SGD website has a number of different sections to help you solve your boot problem. A good place to start is the SGD wiki. Here you'll find a wealth of information and troubleshooting tips on what to do when your system won't boot. There's a section on Boot Problems and their Solutions covering all the common scenarios and what to do to fix it. One quick look at the site and you can tell the wiki, in its current state, is definitely a work in progress.
The key to setting up a system for dual booting is in the order that you install the different operating systems. If you need to run both Windows and Linux from a single system disk, you should create one partition with enough space to hold Windows, your application files and extra room to store your files. Once you have configured Windows the way you want it you can then install Linux into the unused portion of your hard drive.
When the Linux installation runs it will load GRUB into the MBR instead of the Windows boot code. If you want to boot to Windows on a second hard drive, you can use a GRUB feature (map) to swap the physical order of the drives. To make the changes in the GRUB config file you would add:
map (hd0) (hd1) map (hd1) (hd0)
With SGD all you have to do to make this change is select the EASY LIVE SWAP option from the main menu. SGD will also allow you to fix the problem caused by some Windows antivirus programs using a few simple commands. These can be found on the SGD wiki under Windows Erases Grub. SGD includes a number of tools to do things like show you the existing partitions on your hard drive.
Super Grub Disk is a handy tool to have around if you find yourself installing multiple operating systems or even if you just want a way to diagnose a boot problem. It gives you an alternative boot path to get around a system that won't boot from the main hard drive. Best of all, it's free!