If you install windows after you installed Linux, the Linux bootloader will be “overwritten”.
To fix this, you don’t have to reinstall grub or syslinux or any other bootloader you are using. Just boot into windows, figure out on which partition the bootloader is and set the active partition flag on this partition.
set the active partition
to set the active partition, you simply can use diskpart. Run diskpart:
then navigate to the disk, containing the Linux partition with the bootloader. For example:
in this case, the bootloader of my Linux installation was on my first disk on partition three.
For some updates in windows 7, the active partition needs to be the partition with the windows bootloader on it. The windows 7 bootloader partition is usually 100MB big and is the partition right before the partition with your windows 7 system.
to make life easier, I wrote some scripts which set the active flag on either the partition with syslinux or the partition with the windows bootloader.