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.

Save the Linux BootSector

Now boot your Linux system. Become root and pull a copy of the BootSector to a file:

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.

Make the BootSector available to Windows

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

Configuring Windows to use the BootSector

In Windows, edit the hidden file C:\boot.ini and add the following line:


You should now have a "Linux" entry in the Windows BootLoader. Selecting this should get you into your Linux system.