With 2 harddrives: (call them "D1" and "D2" to avoid confusion with device numbers, etc.)
1. Install Linux on D1, and put grub on the mbr of D1 (Note that the actual identification of D1 depends on how the BIOS is set.)
2. Configure /boot/grub/menu.lst to chainload to the boot code on D2. (Same comment about the actual identification)
3. Install Windows on D2. It will automatically install its boot code to the MBR of D2.
4. Set BIOS to boot from D1, and you'll have your dual-boot. Set the BIOS to boot from D2, and you'll have Windows.
With 1 harddrive:
1. Install Linux on D1 and put grub in the boot sector
of the Linux partition. Make an image file of the boot sector using dd.
2. Install Windows.
3. copy the image file from step 1 into the folder where boot.ini lives.
4. Edit boot.ini to point to the image file.
This second method is documented in various places---search for--eg-- "dual-boot using NTLDR". Also search here at LQ for member "Saikee".
all this aside, it's easier to install Windows first.....