This is a project that I had planned on doing when I first built my new PC about a month ago. I have used software dual-boot computers before and while it can be handy I found the negatives to be too great to continue on that path. In order to dual-boot Windows and Linux you first install Windows in its own partition and then install Linux in a separate partition. In this arrangement you use the Linux bootloader to choose which OS to run on startup. This works fine unless you have to reinstall Windows; which as we all know needs to be done from time to time. Windows will then overwrite your Linux bootloader making your Linux partition inaccessible. While it is true that you can modify the bootloader to access Linux or reinstall the Linux bootloader using a liveCD, this is a fairly complicated process. I much prefer having completely separate installations of the two operating systems.
In order to achieve this I decided to build a hardware solution for switching between OS’s. The idea here is that I will use two separate hard drives and physically choose which of the two receives power, thereby only allowing one hard drive at a time to boot on startup. This is easily accomplished using two pieces of hardware:
The switch I chose is not a normal toggle switch. This model features a locking lever which helps to prevent inadvertently switching power to or from the hard drives. This is necessary since accidentally flipping the switch while the computer is running would crash the OS similar to unplugging the system from the wall. The locking lever works by using a spring loaded plunger with a pointy tip mounted on the lever. When in either ON position the tip fits into a notch on the switch body which prevents it from moving. In order to flip the switch you must pull out on the plunger which raises the tip out of the notch, thereby allowing the lever to be moved to the other ON position.
As you can see from the photos I cut the splitter cable in to 3 pieces: (1) power socket which plugs into my PC’s power supply & (2) right angle plugs that will attach to my hard drives. Normally a SATA hard drive power cable has 5 conductors: (1) 12V line, (1) 5V line, (1) 3.3V line & (2) grounds. The orange 3.3V line is rarely used and consequently removed it from the connectors, leaving me with 4 conductors each that needed to be wired to the switch. I added extensions using 22AWG wire so that the plugs could reach from the switch (mounted on the front panel) to the hard drive bays. The front panel of my PC case is made of aluminum, including the removable drive bay covers. This provided me with a fairly sturdy mount for my switch. I simply drilled a 1/4″ hole in the empty 3 1/2″ floppy drive bay cover and mounted the switch. After plugging in the power socket and hard drive plugs I reassembled my PC and tested my dual-boot setup.
This is a really simple and robust way to dual-boot a PC in my opinion since you essentially have two independent PCs using the same hardware. The only disadvantage this has versus a software dual-boot system is that I cannot access the same data from either OS since they are on separate hard drives. For me this is a minor issue since I use my HTPC as a data server which is equally accessible regardless of which OS I choose to run. I’m very pleased with this setup and it’s definitely worth the $17 in parts and about an hour of time I put into it.