|
Subscribe
Recommend
|
|
|
|
|
A simple hardware switch lets you choose between any two operating systems at boot time.
|
Make a Dual-Boot IDE Cable
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.
|
|
The completed cable. Click for a closer view with the parts labeled.
|
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.
|
|
|
|
Insulate all connections with heat shrinkable tubing.
|
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.
|
|
|
The dual-boot cable connected to the hard-drives (the power connectors are unplugged for a clear view).
|
|
|
What happens if you flip the switch while the computer is running?
|
|
I don't know. On my computer with Fujitsu drives, nothing happens. It
appears that the drives look at the jumper settings only when first
powered up. Switching later doesn't seem to change the master/slave
relationship of the drives. A soft restart or even pressing the
machine's reset button will not cause the other OS to boot; the
machine has to be turned off to switch the drives. This may not
be the case with other brands of drives. If they did switch while the
machine was running, especially while writing to disk, serious data
corruption would result, so it's best not to do it.
If you really must find out what happens, boot DOS (or Windows 98 in
DOS mode) from one of the drives. Once you're sure that there's no
drive activity, flip the switch, hit the reset button, and see what
happens. If it reboots from the same drive then flipping the switch
while the machine is running is harmless. If it starts the other OS,
then don't ever flip the switch unless the machine is off.
|
|
|
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.
|
|
|
|
Buy Stefan a coffee!
If you've found this article
useful, consider leaving a donation
to help support
Stefan's Electronics Web Site.
|
|
|
|
|
Last updated Friday November 30, 2007.
|
E-mail Stefan
|
|
|
|
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.
Copyright:
All materials on this web site, including the text, images, and HTML
mark-up, are Copyright © 2008 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.
|
|