Oldest windows first. partition your drive. stuff XP in first, 7 in second, and Linux third.
Use grub or grub2, or whatever installed by Linux to MBR to boot, consecutively, Windows XP and Win 7, and download Easy BCD to both OS's. When installing, uncheck "run the program now", that is at end of install, to keep from seriously messing up stuff before making sure you always have a way to re-install the bootloader installed by Linux in current configuration (OS on USB, recovery CD, whatever; trust me this is bad to forget on a CD-ROM-less netbook).
Keep a windows recovery method on hand, too, in case you mess up the BCD (which you will).
Boot XP, install a new BCD with Easy BCD containing entries for both your XP and 7 systems. Reboot into 7 and install a BCD to that partition containing only an entry for the 7 system. Reboot into XP and delete the BCD entry for Win 7. Reboot using your recovery method for whatever bootmanager Linux likes and re-install that bootmanager. voila; = a multi-boot system that runs entirely from grub/grub2 with no submenus or extra keypresses.
I have not seen anything to this effect on internet anywhere so far, after quite bits of searching, and since it took many hours to figure out, for those OCD's out there who want it to function cleanly (chainloading menus are ugly), wish to spare you the headache.
My Windows 7 sees the XP partition that thinks of itself as "C:" as "D:", so it should be possible to change drive letter of Win 7 partition from within win 7 to "C:" without breaking anything (if isn't already so).
an observation, in reply to the above: my windows 7 thinks it's on F:. – justin – 2011-06-25T05:47:03.040