I've tried several different Operating Systems over the years and always seem to end up back at Windows XP. I like it, it's fast and stable and I know my way around it enough to configure the various tools I use in my day job as a web developer. There are many reasons, however, why you'd want a choice of operating systems:
My decision was based on a combination of 2 and 3: I'd just bought a new machine but wanted XP because I knew how to get it up and running quickly, and I wanted Ubuntu for Linux experience as I'm still a doddering newbie in that regard. I used Windows XP Pro from my previous (now dead) machine, Windows 7 Home Premium from my new machine and Ubuntu Linux 10.04 simply because it was the latest version at the time.
In addition to the Windows XP and Windows 7 installation media and licences, you'll need a harddrive big enough to hold three operating systems and associated applications plus an Ubuntu Live/Install CD. As a guide, 30-40GB is plenty for each OS, so a 120GB drive will do the job. You may, however, want to use a larger drive in order to create a shared Data partition, or even employ a seperate drive altogether.
For the purpose of this example I'll use a single 120GB drive, reserving 25GB for each of the Operating Systems and whatever's left for Data.
Boot your computer from the Ubuntu Linux disc and select 'Try Ubuntu without installing'. When you reach the desktop, load GParted from the System » Administration menu.
Delete any partitions that exist on the drive already until the bar across the top is a single unbroken box of grey labelled 'unallocated'. It goes without saying that this will destroy any data on the drive so only proceed if you understand what will happen. Next, right-click on the gray bar and select 'New'.
Create a new partition of the desired size. Ensure 'Create as' is set to Primary and 'File System' is set to NTFS. Label this partition 'XP' and click Add.
Create a second partition - again it should be Primary and NTFS. Label this partition 'Win7'.
Leave the rest of the drive as 'unallocated' - we'll come back to this later.
Finally, click the green 'tick' icon to Apply All Operations and commit this layout to the disk.
Restart the computer and boot from your Windows XP disc. You should be able to install XP into the first partition (labelled C: in the list of available drives) without problems. Format the partition using NTFS and set the Locale and Language options as usual.
In order to prevent problems when installing Windows 7 we need to remove the boot flag from the Windows XP installation. Boot from the Ubuntu disc and load GParted as before. Right-click on the XP partition and select 'Manage Flags' from the popup menu, then untick 'boot' in the list that appears.
The flag change should be saved automatically so exit GParted, shut down Ubuntu and remove the disc.
Boot from the Windows 7 disc and set your Language and Locale options as usual. When you are prompted to Upgrade or perform a Custom Install, select 'Custom'.
You'll be shown a list of drives and partitions where you can install Windows 7. Select the second Primary partition ('Disk 0 Partition 2') which should be labelled 'Win7', and the installation should proceed as normal.
After installation of Windows 7 is complete, shut down your machine and remove the disc. You may notice that you cannot boot into Windows XP at this point - this is normal.
Lastly, boot from the Ubuntu disc and select 'Install Ubuntu' from the boot menu, or load the desktop as before and double-click on the 'Install Ubuntu' icon there.
When you reach the 'Prepare disk space' screen during the installation, select 'Specify partitions manually (advanced)' and click Forward. The list of partitions should appear with 'free space' at the end.
Highlight 'free space' and click the 'Add' button, then create a new Primary partition of the required size, choose the Ext4 journaling file system and set the Mount Point as '/'. You may receive a warning about Swap Space when you try to proceed - whether or not you go back and add another swap partition is up to you.
Proceed with the installation of Ubuntu as usual. Once it has finished, reboot the computer one last time.
Now when you restart your computer you should see a boot menu showing all of the available Operating System options plus a couple of memory tests.
If you want to configure this menu (I like to have XP at the top and highlighted by default, for example) you'll need to dig around Google for some instructions on configuring Grub, but it's not too difficult.
Tested on desktop versions of Chrome, IE11, Edge, Safari, Opera and Firefox. Any problems are entirely your own.