After many corrupted MBRs (Master Boot Records), I finally got this triple booting thing down to a science. I’ve read plenty of how-to‘s they were a helpful starting point but they made some assumptions that didn’t fit my setup. First off most of these were written when Vista was beta and others assumed you had a full Vista DVD instead some garbage system restore CD from your computer’s manufacturer.
So, you ask why would one want to triple boot? Simply because I still use some Windows programs and XP runs a lot faster than Vista on my brand new machine. To be sure Vista runs reasonably well on this but XP is still faster over all.
This tutorial assumes you have Vista preinstalled from the factory and that you’ve made system recovery discs before attempting anything.
You will need a couple of things:
Download this Vista Rescue ISO this contains the tools to fix your master boot record after XP boinks it. Make sure you burn this as a disc image and not a file.
Download EasyBCD – This will allow you to add XP to Vista’s boot menu
A Windows XP CD
XP Drivers for your hardware. You will probably be able to get these from your computer’s manufacturers website. For instance, I needed drivers for my network card to get online with XP..Be advised everything might not work this is trial and error especially if your computer was “built for Vista”.
Now lets get to work:
Step One: Use Vista’s build in disc utility (Under administrative Tools in the control panel) to shrink Vista’s partition. With the space left of over create 3 partitions, one big enough for XP another 5 GB for Linux Swap and the rest for Linux Root (/) this should be at least 10 GB. Only format the XP partition as NTFS. Leave the others alone.
Step Two: Put your XP CD in the drive and reboot. Install Windows. When Windows gets to the part where it wants to reboot let it. On reboot you will most like be greeted with “Disc Read Error Press Ctrl + Alt + Delete to restart”
Pop the Vista rescue CD your burned in the drive and reboot. Press a key to load from the disc, choose start up repair. The disc will repair your master boot record. Quit and reboot
Your back into Vista. In Vista use EasyBCD to create a boot entry for XP, this is pretty self explanatory.
Put your XP disc back in the drive. Reboot but don’t load from the CD. When the boot menu comes up select Windows XP. XP will continue installing from the CD. When XP is done installing your done.
Remove your XP CD from the drive. You are now dual booting Vista and XP. On startup you can select XP or Vista from the menu. If you want XP to be the default us EasyBCD to make it the default selection.
If you want to add Ubuntu into the mix and triple boot. It’s really quite easy. Download the Ubuntu ISO from www.ubuntu.com, burn the image, put the disc in your computer and reboot. Go through the setup prompt until you get to the disc partitioner. Choose “Manual”
You will see all 4 partitions, Vista, XP, and two empty ones. The smaller one you want to use as swap and the bigger one you want mount as /
Run the install process. The installer will automatically detect Vista’s boot loader and add it to the GRUB boot menu. After the install you can boot into Ubuntu or select Vista’s loader to load the menu and choose between XP or Vista.
I still haven’t figured out how to get grub to just add XP as a boot option when I do, I’ll update this tutorial.
Feedback or Questions are welcome in comments.


I use this way :
title Windows Vista/Longhorn (loader)
root (hd0,2)
hide (hd0,0)
hide (hd0,1)
unhide (hd0,2)
makeactive
savedefault
chainloader +1
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title Win-XP_Yiannis
root (hd0,0)
unhide (hd0,0)
hide (hd0,1)
hide (hd0,2)
makeactive
savedefault
chainloader +1
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda2
title Win-XP_Alla-Alina
root (hd0,1)
hide (hd0,0)
unhide (hd0,1)
hide (hd0,2)
makeactive
savedefault
chainloader +1
The “problem” is that the when you boot to (hd0,1) the other two partitions are hidden.
But they are not hidden from linux.
Thanks Tom. I’m going to give that a try, I’ll get back to you.