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!