Make a Dual-Boot IDE Cable
April 23, 2007
In early 2006, we replaced our two 500MHz P3 computers with 3GHz P4 machines running Windows XP Professional. The two old boxes, one of which ran Windows 98SE and the other Windows 2000, were relegated to testing new releases of MotoCalc to ensure continuing backward compatibility. They also served a few other purposes, such as providing space for real-time backups of important files, and operating our old but reliable HP ScanJet 4C.
More recently (early 2007), we decided to get rid of a lot of old “stuff”, and the P3 boxes came up for disposal consideration. Each of these boxes consumes about $50 worth of electricity a year, resulting in about a quarter of a ton of CO2 emissions from Ontario’s power plants.
After much discussion, it was decided that we still needed the ability to test MotoCalc on Windows 98 and 2000, but that other than that, we really only needed one of the two machines, and that it could be in a low-power standby mode most of the time. That’s when I came upon the idea of installing the primary hard disks from both boxes into one of them, with a front panel switch to choose which operating system (OS) to load.
How to Make it Work
I had a good idea of how I would do this, but decided to search the Web first to see if anyone else had done this. I found two how-to articles, but each had some shortcomings:
The solution presented in this video only works if the hard disks used automatically go into Cable-Select mode when no jumpers are present. It also requires a Cable-Select compatible IDE cable, which most aren’t, although it’s easy to make one.
DarkVision’s Ghetto Hard Drive Selector has a similar shortcoming, except this one only works with hard disks that automatically switch to Slave mode if the Master jumper is removed.
Clearly neither approach will work with all hard drives. In fact, the drives that work with one solution will not work with the other. If you have one of each kind of drive, or a drive that doesn’t exhibit either behaviour, none of the above will work.
The solution lies in using the drives’ Cable-Select mode. Virtually all IDE hard drives support this, either by setting a specific jumper or by removing all the jumpers (check your drives’ documentation). The two drives don’t even have to be the same in this respect.
In Cable-Select mode, the determination of which drive is the Master and which is the Slave is done by the IDE cable itself. Pin 28 of the IDE connector is the Cable-Select pin. If a drive is in Cable-Select mode, then:
If the Cable-Select pin is grounded, then that drive becomes the Master.
If the Cable-Select pin is left disconnected (open-circuit), then that drive becomes the Slave.
An ordinary IDE cable has the Cable-Select line connected all the way through, and since it is grounded at the host end, both drives see a grounded Cable-Select signal. If one were to cut the Cable-Select line between the first and second drive connectors, then only the first drive would see a grounded Cable-Select, thus becoming the Master. The second drive would become the Slave.
By cutting the Cable-Select line to both drives, and then using a switch to selectively reconnect it to one drive or the other, we can choose which drive is the Master and which is the Slave just by flipping the switch.
Making the Cable
To make the dual-boot cable, you’ll need the following:
An ordinary non-Cable-Select IDE cable with a host connector and two drive connectors.
A piece of 3-conductor cable (or 3 separate wires) about 12 inches long. A 3-wire slice off of a wider ribbon cable works fine for this.
A single-pole double-throw (SPDT) two-position (i.e. not center-off) toggle or other switch.
Some 3/32″ (2.5mm) diameter heat shrinkable tubing.
Some tools: hobby knife, wire strippers, soldering iron, solder, etc.
Prepare the IDE Cable
Notice that one edge of the IDE cable is red. This corresponds to pin 1 on the connectors, and is line 1 on the cable.
On both sides of the first drive connector (the center one), very carefully count your way over and find line 28 of the cable. Mark it with a fine point marker so you don’t lose track of it.
Using a sharp hobby knife, separate line 28 from the rest of the cable between the two drive connectors, and for about two inches (5cm) on the host side of the first drive connector. Between the host and first drive connector, cut the separated part of the line near the drive connector. Between the first and second drive connectors, cut the separated part approximately in the middle.
You should have three free wire ends sticking out of the drive cable now. Trim ¼” (6mm) of insulation off each free end and tin the wire with your soldering iron.
Prepare the Switch
Separate the three wires at both ends of your 3-conductor cable for a length of 2 inches (5cm), strip ¼” (6mm) of insulation off each end, and tin the ends. Also tin the contacts on the switch.
Slip ½” (12mm) lengths of heat shrink tubing over the 3 wires at one end and solder the wire ends to the switch contacts (center wire to the center contact). Slide the tubing over the connections and shrink it with a heat gun or by holding your soldering iron close.
Connect Them Together
Slip some heat shrink tubing over the other ends of the 3-conductor cable and prepare to solder these ends to the loose ends on the IDE cable. A block of wood with two clothespins is handy for holding the wires aligned for soldering.
Solder the center wire (green in the photo) of the 3-conductor cable to the loose end that is closest to the IDE cable’s host connector. Solder the other two wires (yellow and blue in the photo) to the remaining loose ends.
Slide the heat shrink tubing over the connections and shrink them. Your dual-boot cable is now complete!
Setting Up Your System
Set the jumpers on both hard drives to activate Cable-Select mode. How this is done varies from drive to drive. Consult your drives’ documentation. Often (such as on Fujitsu drives) this information is printed right on the drive’s label.
Connect the host connector of your dual-boot cable to the machine’s IDE controller (either on the motherboard, or on a separate IDE card). Connect the two drive connectors to the drives. Be sure that all the connections are oriented correctly (red side of the cable to pin 1 on the controller and each drive).
Install the switch on the front panel of your computer. The easiest place to do this is on one of the removable drive bay covers. Because I used a rocker switch instead of a toggle, I had a bit more work to do to make a rectangular hole. A toggle switch just needs a drilled hole.
Assuming both drives are already formatted and bootable, turning on the computer will cause it to boot from one of the drives. If you then shut down the computer, flip the switch (while the computer is off), and turn it back on, it should boot from the other drive.
If the currently running operating system is capable of reading the other operating system’s file system then the other drive will be visible as a secondary drive. On my computer for example, one drive boots Windows 98 using a FAT32 file system and the other boots Windows 2000 on NTFS. When Windows 2000 is running, it can read the contents of the Windows 98 drive (as drive D:). But when Windows 98 is running, it doesn’t see the Windows 2000 drive because Windows 98 doesn’t know about NTFS.
If either of your drives doesn’t currently contain a bootable OS, just start the machine with that drive selected as the primary drive (via the switch) and install an OS on it as you would on a single-drive machine. Just be careful not to let the installer format the second drive for you as well.
Switching Operating Systems
To switch from one operating system to the other, you first have to shut down the one that is running, all the way to the point where the computer is powered off. Once the computer is off, flip the switch and then turn the computer back on.
That’s all there is to it. This technique can be used for any two operating systems, including those that don’t support dual booting. There’s no need to mess with special boot loaders and no trouble with OSes that can’t co-exist easily. Whichever OS is currently running thinks that its hard drive is the primary drive.
If you've found this article useful, you may also be interested in:
Buy Stefan a coffee! If you've found this article
useful, consider leaving a donation to help support
Disclaimer: Although every effort has been made to ensure accuracy and reliability, the information on this web page is presented without warranty of any kind, and Stefan Vorkoetter assumes no liability for direct or consequential damages caused by its use. It is up to you, the reader, to determine the suitability of, and assume responsibility for, the use of this information. Links to Amazon.com merchandise are provided in association with Amazon.com. Links to eBay searches are provided in association with the eBay partner network.
Copyright: All materials on this web site, including the text, images, and mark-up, are Copyright © 2014 by Stefan Vorkoetter unless otherwise noted. All rights reserved. Unauthorized duplication prohibited. You may link to this site or pages within it, but you may not link directly to images on this site, and you may not copy any material from this site to another web site or other publication without express written permission. You may make copies for your own personal use.