by ComputerBob
July 15, 2007
Last Updated December 30, 2007
After dual-booting Windows XP and Linux for a whole year, I finally decided to use inexpensive hardware, instead of software, to choose between the two operating systems. Why? One major reason was because I wanted Linux and Windows to not even know that the other was there, let alone be able to mess each other up. The way I did it may not be the best solution for everyone, but it fits my needs perfectly. This article explains why I did it, how I did it, why I chose my method over some other dual-boot techniques, and why it's the best solution for me. Read on and see if it might be the best solution for you, too.
Each time you turn on your computer, it goes through a whole startup process to get ready for you to use it. That whole process is called "booting up" or "booting" the computer. If your computer is setup to run a Windows operating system, then each time you turn on your computer, it "boots up Windows," "boots Windows" or "boots into Windows." If your computer is setup to run a Linux operating system, then each time you turn on your computer, it "boots up Linux," "boots Linux" or "boots into Linux."
A dual-boot system is a computer in which two operating systems are installed, either onto separate partitions of the same hard drive, or onto separate hard drives within the one computer. When you turn on a dual-boot computer, a menu appears that lets you choose which operating system you want to "boot."
For many years, I had grown increasingly tired of Windows' high cost, insecurities, instabilities and constant need to be updated, as well as Microsoft's monopolistic licensing and blatant disregard for computer users' rights. So, for a few years, I tried many different Linux versions (distros), looking for one that could replace Windows on my computer. I finally found what I was looking for, and I've been using Linux full-time since July of 2006, when I first tried totally-free Kubuntu Linux. A little over a month later, I discovered that I liked SimplyMepis Linux much better than Kubuntu, so I've been using Mepis ever since.
Even though I'd prefer not to use it at all, I kept Windows XP installed on my computer for the past year, in a dual-boot configuration with Mepis Linux, for the following reasons:
I originally set up my dual-boot system as a software-based dual-boot, the same way that most people do: With Windows XP already installed on my hard drive, I used disk-partitioning software to shrink the hard drive's Windows partition to make room for Linux. Then I installed Linux onto the hard drive's free space. Linux automatically saw that Windows XP was also on the hard drive, and automatically added lines to its GRUB startup menu, to let me choose whether to boot into XP or Linux each time I started my computer.
A few times, I considered buying a separate computer to run Windows XP on, but I decided against that idea because:
While dual-booting is much cheaper and more convenient than running two separate computers, the fact that it involves having two operating systems on the same computer at the same time introduces some significant risks into the system. In fact, starting a couple of weeks ago, I described how the Windows side of my dual-boot PC had repeatedly caused frustrating problems for me. Some of the disadvantages of dual-booting include the following:
When I thought about that BIOS-changing dual-boot method, I wondered if it would be possible to setup a dual-boot PC that would have all of the advantages of a dual-boot without any of the disadvantages. I figured that, in order to do that, the dual-boot setup would have to meet the following goals:
One really simple method of dual-booting involves installing Windows and Linux separately, onto two different hard drives, so that they're each bootable on their own. Once that's done, you install both hard drives into the PC. Then, every time you turn on the PC, you go into the PC's BIOS change the "boot order" of the hard drives, to select which of the two operating systems you want to run. It's a brilliant, totally free dual-boot technique for someone who knows their way around a PC's BIOS. In fact, it might be the perfect way for you to set up a dual-boot on your computer. But it's not a good option for me, because I wouldn't want the risk involved with making my non-techie wife wade around in my PC's BIOS every time she needs to run Windows on my PC.
Another dual-booting method comes very close to achieving the goals that are listed above. Here's what it involves:
The main problem with that idea is that it would be extremely inconvenient and time-consuming to have to disconnect and reconnect my hard drives every time I wanted to switch operating systems. And there's no way I could expect my wife to do it every time she needs to run Windows on my PC.
I've heard from several readers, suggesting that I should either run Windows XP in a virtual machine within Linux, or run Linux in a virtual machine within Windows XP. In fact, a few of them were kind enough to recommend their favorite VM solutions, including Xen, Qemu, VMware and VirtualBox.
I can see that using a virtual machine could very well be a viable alternative to dual-booting for many people who are already familiar with using a VM. But there are many VMs, and I have no experience with using any of them. Researching the advantages and disadvantages of each one would have exponentially increased the complexity of my task, in addition to the fact that virtually all (pun intended) virtual machines have known disadvantages and limitations that can adversely affect their hardware compatibility, software compatibility, memory usage, speed, stability, the complexity of making backups, networking, troubleshooting and other issues. In addition to all of that, Microsoft has reportedly changed their End User License Agreement to forbid anyone from running Windows XP as "a guest operating system," as described in this forum thread. So it's pretty clear that the virtual machine option fails to meet at least a few of the basic goals that I established for my ideal dual-boot solution.
With all of that in mind, I would still consider trying a virtual machine some time in the future, but only:
Often, defining what you really want is the biggest part of finding it. I knew that, technically, the BIOS-changing method and the hard-drive-connection/disconnection method both work as dual-boot methods. In fact, they both meet my dual-boot goals, except that both methods are also inconvenient and risky. That's when I realized that the perfect solution for me would be an inexpensive dual-boot method that provides a fast, safe and convenient way to swap my hard drives without having to change my PC's BIOS settings or physically disconnect and reconnect its internal data and power cables.
Once I defined exactly what I was looking for in a dual-boot solution, it didn't take long to find the solution itself — removable hard drives. By turning my existing hard drives into removable hard drives, I get all of the advantages of a dual-boot system, with none of the disadvantages. In fact, the removable hard drive dual-boot method works exactly like the hard-drive-connection/disconnection method, except that it's really fast, safe and convenient to swap removable hard drives in and out of my PC, without having to disconnect or reconnect any cables or change any BIOS settings. And it's so easy that my wife can do it whenever she needs to run Windows on my PC.
The removable hard drive systems that I bought are made out of strong, precisely machined, heat-absorbing aluminum with a black plastic front face and handle. The removable trays slide precisely into the PC-mounted frames and seat with a satisfying clicking sensation when you lower their handles. Just as I had suspected, it took less than 30 minutes to mount the three hard drives into their trays, and to mount the two frames into my PC. Each system came with step-by-step instructions, but the installation is simple and intuitive enough that if you've ever installed a few hard drives, you probably won't even need to read the instructions. Still, it couldn't hurt to read them, just to make sure you know what you're doing.
After unpacking everything, I opened each of the removable trays and installed my three hard drives (my bootable Windows XP drive with its separate data partition, my bootable Mepis Linux drive with its separate root, home, data and swap partitions, and my shared data/backup drive) into them. I did that by sliding the trays' top covers off and connecting each 3 1/2-inch hard drive to its tray's internal data and power cables. Then I secured each drive inside of its tray, using the included screws that go into the existing screw holes in the side of each hard drive. Then I slid the top covers closed again. You can see how a removable tray looks with its top cover partially slid open, and how the outside-back of each tray has a combined data-and-power connector. That connector mates with a similar connector inside each PC-mounted frame. The frames, in turn, are directly connected to my PC's data and power cables. Basically, the whole frame-and-tray system takes the place of having to physically open the PC and disconnect/reconnect data and power cables every time I need to run Windows — and it saves me the cost and hassle of having to buy and maintain a separate PC just to run Windows on.
Once the hard drives are installed in their removable trays, the next job is to permanently mount the frames inside the PC. Each frame fills one 5 1/4-inch drive bay, and mounts inside the PC's case with included screws, exactly like a CD-ROM drive. Once the frames are installed, connect the PC's internal data and power cables to the back of each frame. I connected my PC's primary data connection to the top frame and its secondary data connection to the bottom frame.
With my PC still turned off, I slide whichever hard drive tray I want to use into its corresponding frame. In my case, I slide either my Windows XP or Mepis Linux drive into the top frame, and then, if I want to use my separate shared data/backup drive, I slide it into the bottom frame. My drives are PATA drives, so they're not
hot-swappable, but if they were SATA drives, I could've bought hot-swappable removable hard drive systems.
Here's the step that almost every new removable-drive user forgets to do. As a safety feature, the removable drives that I bought won't work at all until you lock them into place. If you turn on your PC and it tells you that it can't find any operating system, you probably forgot to turn the key to lock your removable drive(s) into place. Just turn the key on each drive's frame and they'll power right up. Another safety feature that my removable drives have is that they can't be physically unplugged from the PC until you unlock them from their frames.
Here's my PC running Mepis Linux. You can see the little green LED on the top removable drive frame that indicates that its hard drive is operational. The bottom frame's LED is turned off, because that frame doesn't have any hard drive tray in it. On my desk, you can see my Windows XP and data drives. Whenever I need to access any data that is shared between Linux and Windows, I simply install both my Linux and shared data/backup drives. Whenever I want to backup or restore my Linux root partition, I install both my Linux and shared data/backup drives, and then boot my PC with my
GParted-Clonezilla LiveCD. Whenever I want to backup or restore my Linux home or data partitions, I install both my Linux and shared data/backup drives, boot up Mepis Linux, and use
Rdiff-Backup. For additional data protection against lightning or other electrical failures, I keep my shared data/backup drive outside of my PC when I'm not using it.
Here's a closer view, showing both removable drive frames. The top one has my Mepis Linux hard drive in it, while the bottom one is currently empty, since my other two hard drives are sitting on my desk. As you can see on the bottom frame, whenever I remove a hard drive, a black plastic door automatically pops up to cover that frame's hard drive opening. That gives it a more professional look than it would have if it just left a big hole where the hard drive had been. It also seals the opening so that the missing hard drive won't affect my PC's internal air circulation.
Here's my PC running Windows XP. My Mepis Linux drive and my shared data/backup drive are sitting on my desk. Windows XP has no idea that any other operating system "uses the PC when I'm sitting on Bob's shelf." As far as it knows, it is the only operating system that ever uses the PC, so it can't possibly be offended by anything that I might do to my Linux hard drive. Whenever I need to access any data that is shared between Windows and Linux, I simply install both my Windows and shared data/backup drives. Whenever I want to backup or restore my Windows partition or its data partition, I install both my Windows and shared data/backup drives, and then boot my PC with my
GParted-Clonezilla LiveCD. And, for extra data protection, just like when I'm running Linux, I keep my shared data/backup drive outside of my PC when I'm not using it.
So that's my "Hardware-Based Dual-Boot System." It cost me a total of $58.31 (including shipping) to buy the two complete removable frame-and-tray systems and one additional tray. I could've saved about $20 by buying cheaper plastic frames and trays, and they might have worked just fine, but I chose to pay a little bit more in order to get strong aluminum construction and more-reliable ball-bearing cooling fans.
Of course, I could've kept using a software-based, Linux-Windows dual-boot setup with both operating systems in the PC at the same time, just like thousands of other people do, and like I had been doing for the past year. In fact, for many people, a software-based dual-boot system works just fine, and it's really all they'll ever need. The truth is, I know its possible to even
install and boot 145 operating systems in a PC, if you're willing to learn how to set it up, and you can remember how to keep Windows working after you make changes to your system. I'm sure that some day, I'll probably use that multi-boot method to install one or more additional Linux distros onto my Linux hard drive, and they'll all multi-boot and get along just fine with each other, without requiring constant maintenance to keep them working, since I'll continue to keep Windows on its own separate, removable hard drive. The fact is that, in general, Linux distros get along fine with each other. In my case, I needed a better solution than a traditional dual-boot because I got tired of having to remember what to do to fix Windows every time I did anything in Linux that Windows didn't like. And I wanted a solution that would allow me to run Windows without letting it affect my Linux setup and run Linux without hypersensitive Windows refusing to boot up afterward. That's why I was very happy to spend a few bucks to set up a simple, easy to use, hardware-based dual-boot system that runs both Windows and Linux, while keeping them completely separate from each other.![]()