How to install Ubuntu, Windows XP and Windows 7 from scratch as triple-boot system

You should install Windows XP first. After that, install Windows 7; its bootloader will take care of XP as well. Also, Windows 7 considers whatever partition it's on as C:\ (at least that's what happened to me).

Lastly, install Ubuntu. Its bootloader will detect all the other 2 operation systems. Have fun!


You should always go from the oldest to the newest, additionally from the "Microsoft"iest to the more open ones.

Windows XP writes its own bootloader into the MBR, regardless of what is installed (With the exception of older Windows versions, like Win98)

Windows 7 will find XP and add it to it's own bootloader.

Ubuntu, in turn, will add the Windows bootloader to its own boot menu (grub), which will make selecting a windows version a bit more complicated (worst case: 4 keystrokes) but it is definitely easiest to install.

You should think about transferring data between the operating systems too, so maybe leave a partition (I would suggest 2-10GB, depending on your hard drive size) for data exchange and format it in FAT32.

A last suggestion: If you no not really need to install every operating system in its native partition, maybe you could use the free Sun VirtualBox to virtualize the operating systems which do not need full native access to the hardware. If you want to play games, I would suggest that the gaming OS should be the host system.

The bonus you get from this setup: snapshots and easy full system backups!


Alex has suggested installing Windows in order from oldest to newest. This is probably the best suggestion now, but in the past I've done things the other way around as some Windows installers won't install in a separate partition if there is already a Windows installation detected. I don't think this is a problem anymore but in the old days the first readable partition was always C: and Windows always needed to be on C:. Thus you could install Windows NT on NTFS, Windows 9x on Fat32 and Dos/Windows3.11 on Fat16 in that order and each OS would think it was drive C: when it installed. The only drawback is getting a bootloader that recognizes the different OSes, but I had IBM's boot manager (from OS/2) which was very easy to configure. In your case now I'd setup the default bootloader to boot all the other OSes; if Windows shows up first I'd configure the boot.ini to have entries for the other Windowses and Linux, and if Grub shows up first I'd configure Grub to boot Linux and Windows.