How to dual-boot with Windows, after installing Linux
Install Linux as your choosing, to make things simple we put Linux on /dev/sda1. Then create the partitions for /dev/sda2 (Windows7), /dev/sda3 (Windows8) and /dev/sda4 (WindowsXP)
Install Linux as you choose, best performance will be had by limiting the Linux installation to a single partion, usually /dev/sda1 After installing Linux you'll need to use the syslinux boot-loader.
Preparing for Windows Installation
Boot from a LiveCD/DVD/USB and then updated the disk to have make the new target partion is type 0x07. Make sure that your Linux partion, and the partitions that Windows should ignore are set to an odd type.
When performing Windows installation make sure only one partition is set as type 0x07 and none are marked bootable.
Now boot from your selected Windows CD/DVD and perform the installation as normal. Windows should only allow the one partition we have indicated and will mark it Bootable.
After Windows is installed make sure it's working properly, then reboot again from the Linux Live.
Now, from the Live CD and re-set the Active partition to /dev/sda1 and update the boot-loader to allow to boot from /dev/sda2.
Again, be sure to set the target partition type to 0x07 and all the others should be set to 0x00.
After installing Windows be sure to get all the necessary drivers.
Example Syslinux Config
LABEL winxp KERNEL chain.c32 hide APPEND hd0 1 MENU LABEL M$ Winblows