Triple Booting Windows and Linux - a How-To

Page content

Most Windows users considering a partial or full switch to Linux desire to transition slowly and only after deciding which distribution (or distributions) to use. Situations like these are easily managed by triple booting Windows and Linux. However, it’s probably not a good idea to attempt such a task if your knowledge about hardware and software, particularly, operating systems is limited. At least a basic, but sound understanding of what it means to partition and reformat a local disk is strongly recommended. Familiarity with the differences in Linux and the role of boot loaders is equally advised. If something goes wrong, it’s much easier to troubleshoot and solve problems when you understand the processes involved.

Triple booting Windows Linux may involve installing one Linux distribution and two Windows versions or one version of Windows and two different distributions of Linux. There’s more than one correct method of establishing a triple boot system, so it’s best to concentrate on the core concepts involved to achieve success. The need to back up your data, unless you’re working with a blank disk, can’t be over-stressed. Data recovery services are extremely expensive and shouldn’t be necessary for the Personal Computer (PC) user who can simply avoid data loss by performing a full back-up.

The steps you take for triple booting Windows Linux are somewhat dictated by what you’re working with. Do you have a blank local disk (hard drive)? Are you working with more than one local disk? Can your computer boot from a USB drive? Is there an operating system already installed? I will share with you the triple boot system that I set up to give you an idea of how you might proceed to set up your own.

A Windows Linux Triple Boot Example

I acquired a Dell Latitude laptop with a Pentium IV processor on which Windows XP was installed. At first, I was going to remove XP since I don’t ever use Windows at home. However, I decided to leave it in case a friend wanted to use it. I set up a triple boot system of Windows XP and 2 Linux distributions: Fedora 10 and Puppy 4.3.1. When triple booting Windows Linux, install Windows first. If it’s already installed and you’ll be using only one physical local disk (internal or external), you’ll need to set up partitions. This may require first resizing an existing Windows partition which can be done with software designed for such purposes.

I actually resized the partition holding XP and created 2 more partitions using a utility included on the Fedora CD. You may not want to do this even if Fedora is one of the distributions you’ll be installing as it creates logical volumes you don’t need; I simply deleted them. However you choose to resize an existing partition holding Windows, make sure you are only resizing and not creating a new smaller one as this will delete all data. If you’re working with a blank disk, you can use FDISK to set up the partitions you’ll need. Take into account the size of each system you’ll be installing when creating partitions. I worked with a 20GB drive and allowed approximately 6GB for XP, 7GB for Fedora, 4GB for Puppy, and 2GB for a swap file.

I then installed Fedora Linux in a graphical environment. During installation, I was allowed the opportunity to configure what’s known as the GRand Unified Bootloader (GRUB) to control boot options on start-up. GRUB is a boot loader that allows you to specify which operating system you want to load each time your computer starts up. You can control exactly how the name of the system appears. For example, GRUB originally refers to Windows as “other,” but you can change that to read “Win2000” if you’d like. Once Fedora was installed, I then checked to make sure that all was still stable and working as a dual boot system.

I then rebooted the system from the CD/DVD drive in which I had placed the Puppy CD to load it into RAM and bring up the desktop. This loading of a “temporary” desktop is standard whenever using a live Linux CD. Once you’re at the desktop, you can then begin installation to the hard drive. Puppy Linux uses GParted for creating, editing, and resizing partitions. I created a fourth and final one for Puppy. In order for Puppy to boot after being installed, the partition has to be “flagged,” but you can skip the option to update or install GRUB which is what I did. I chose to control which system boots through Fedora, not Puppy. This decision caused me to have to do a little configuration.

There’s a file called “menu.lst” which sits in “/boot/grub.” It controls which operating system choices you receive at start up, how many seconds you have to decide before a default system loads, and other parameters that can be modified. There were a few lines of code I had to add to this file for it to have the boot path for Puppy. I chose to do this by going into a terminal and navigating to “/boot/grub” and then opening “menu.lst” in the vi editor to edit and save it.


I ended up with a total of 4 partitions: sda1 for Windows with an NTFS file system, sda2 for Fedora with ext3, sda3 for swap, and sda4 with ext3 for Puppy. These are all primary partitions and the swap is shared by Fedora and Puppy. To recap, always back up your system. Install Windows first, or resize an existing Windows partition keeping in mind how much space each operating system is going to need and your plans for storing user data on them. I don’t tend to set up partitions dedicated to user data, but you may want to. There are some advantages to this which include being able to upgrade the operating system without affecting user files and being able to run data recovery tools.

Some notebooks use a special partition for carrying out certain hibernation operations. These notebook users should be careful not to destroy this special partition. Also, I don’t recommend attempting to resize a partition holding Windows Vista. Vista users have experienced many more problems doing this than have XP users. If you’ve successfully set up a dual boot system of Windows and Linux, with a little patience, you’ll be able to achieve triple booting Windows Linux also.