Intall your flavour of NT-based Windows first. Make sure you use FAT32 for your C: Partition. Follow up with your LinuxDistribution but don't install your BootLoader into the MBR. Instead, install it to the BootSector of your Linux root Partition. (This is usually offered as an option during installation.) If you cannot boot into your Linux system using your installation CD, make sure to create a BootDisk when asked whether you want one.
dd if=/dev/hda1 of=bootsect.lnx bs=512 count=1
Beware! You will not be prompted for confirmation, so make sure to type this command carefully! A typo may cost you your partition table!
Make sure to use the appropriate Partition if /dev/hda1 is not your Linux root partition. F.ex it might be /dev/sda1 if you installed on a USB keydrive. Invoke mount(8) without parameters and look for the partition mounted on / if you don't know the name of your root partition.
The bootsect.lnx file you just created must be made available to Windows. To this end, mount the FAT32 partition mentioned above. Usually this has already been set up to happen automatically by the installer, which commonly uses a mount point such as /mnt/windows/C.
cp bootsect.lnx /mnt/windows/C
In Windows, edit the hidden file C:\boot.ini and add the following line: