499 lines
18 KiB
Plaintext
499 lines
18 KiB
Plaintext
Managing Multiple Operating Systems HOWTO
|
|
Robert W. Schultz
|
|
v0.4, 17 Feb 2000
|
|
|
|
This HOWTO covers the procedures for using removable hard disks to
|
|
install and manage multiple alternative operating systems while leav-
|
|
ing a single fixed disk to permanently house and protect the primary
|
|
operating system. It is very scalable and offers a good degree of pro-
|
|
tection to and a stable disk environment for the primary operating
|
|
system.
|
|
______________________________________________________________________
|
|
|
|
Table of Contents
|
|
|
|
|
|
1. Introduction
|
|
|
|
1.1 Copyright
|
|
1.2 New Versions of this HOWTO
|
|
1.3 Feedback
|
|
|
|
2. Purpose and goals:
|
|
|
|
3. Background:
|
|
|
|
4. System requirements:
|
|
|
|
5. How it works (a scenario):
|
|
|
|
6. The installation:
|
|
|
|
6.1 Installing the primary operating system
|
|
6.2 Installing alternative operating systems
|
|
6.3 Final BIOS and LILO configuration:
|
|
|
|
7. Cost and gotcha's:
|
|
|
|
7.1 Cost:
|
|
7.2 Gotcha's
|
|
|
|
|
|
______________________________________________________________________
|
|
|
|
1. Introduction
|
|
|
|
1.1. Copyright
|
|
|
|
Copyright (c) 2000 by Robert W. Schultz.
|
|
|
|
Please freely copy and distribute (sell or give away) this document in
|
|
any format. It's requested that corrections and/or comments be
|
|
forwarded to the document maintainer. You may create a derivative work
|
|
and distribute it provided that you:
|
|
|
|
|
|
1.Send your derivative work (in the most suitable format such as sgml)
|
|
to the LDP (Linux Documentation Project) or the like for posting on
|
|
the Internet. If not the LDP, then let the LDP know where it is
|
|
available.
|
|
|
|
2.License the derivative work with this same license or use GPL.
|
|
Include a copyright notice and at least a pointer to the license used.
|
|
|
|
3.Give due credit to previous authors and major contributors.
|
|
|
|
|
|
If you're considering making a derived work other than a translation,
|
|
it's requested that you discuss your plans with the current
|
|
maintainer.
|
|
|
|
|
|
|
|
1.2. New Versions of this HOWTO
|
|
|
|
New versions of the Managing Multiple Operating Systems HOWTO will be
|
|
available to browse and/or download at LDP mirror sites. For a list
|
|
of mirror sites see:
|
|
|
|
<http://metalab.unc.edu/LDP/mirrors.html>.
|
|
|
|
Various formats are available. If you only want to quickly check the
|
|
date of the latest version look at
|
|
|
|
<http://www.linuxdoc.org/HOWTO/MultiOS-HOWTO.html>
|
|
|
|
and compare it to this version: v0.4, 17 February 2000
|
|
|
|
|
|
1.3. Feedback
|
|
|
|
Please send any questions, comments, or suggestions to (Robert W.
|
|
Schultz). I am very willing to help others with problems directly
|
|
relating to this HOWTO and will entertain any suggestions for
|
|
changes/modifications and/or improvements. However, having set up my
|
|
system to my satisfaction, this HOWTO won't be significantly improved
|
|
without reader input.
|
|
|
|
|
|
2. Purpose and goals:
|
|
|
|
The purpose of this HOWTO is to describe a methodology for managing
|
|
multiple operating systems on a single computer system. It is
|
|
intended for Linux users who have a basic familiarity with both Linux
|
|
and LILO installations. Nothing here is terribly complex however,
|
|
considering the amount of time it takes to install some operating
|
|
systems it can be relatively time consuming.
|
|
|
|
|
|
It is different from other methods in that it doesn't require multiple
|
|
operating systems on the boot disk. Instead it uses a fixed internal
|
|
disk containing a single primary operating system and a selection of
|
|
removable disks with one or more operating systems installed on each
|
|
of them. If you absolutely have to have two, three, or four different
|
|
operating systems on a single disk and are trying to get them to
|
|
behave with each other, this HOWTO is not for you.
|
|
|
|
|
|
Its specific goals are:
|
|
|
|
|
|
* - A primary/operational disk that once configured and installed is
|
|
rarely changed. This includes not having to repartition or otherwise
|
|
modify the disk it resides on.
|
|
|
|
|
|
* - Easy selection of multiple alternative operating systems at boot
|
|
time without having to go through more than one or two menu
|
|
selections.
|
|
|
|
|
|
|
|
* - No need to modify the BIOS, LILO, or any other configuration to
|
|
access an O/S once it is installed.
|
|
|
|
|
|
* - Easy addition/removal of operating systems depending on
|
|
requirements at the moment.
|
|
|
|
|
|
* - Inexpensive and scalable to allow for an increasing number of
|
|
operating systems and versions as time goes on.
|
|
|
|
|
|
I think I succeeded admirably in the first three of these
|
|
requirements. You can form your own opinions on the last two.
|
|
|
|
|
|
3. Background:
|
|
|
|
Even though Linux is becoming much more user friendly and widely
|
|
accepted, most of us still need access to other operating systems. I
|
|
use Linux about 75% of the time but I still need access to Win 9x for
|
|
those few applications that I haven't found acceptable alternatives
|
|
for in Linux. My wife uses MS Office at work and wants to have access
|
|
to it at home. Other people want to have access to alternative O/S
|
|
just for fun, training, or to keep current in their job.
|
|
|
|
|
|
I tend to treat new O/S's as you would a game; I actually don't do
|
|
anything productive with them but installing and learning how to
|
|
control them is just as challenging and interesting to me as Quake or
|
|
SimCity. Further, being a Computer Scientist, it keeps me current on
|
|
evolving technology and has helped me solve a multitude of problems at
|
|
work. At any rate, for new Linux users, computer professionals, and
|
|
those just trying to migrate from one operating system to another, I
|
|
believe using multiple operating systems is the norm rather than the
|
|
exception.
|
|
|
|
|
|
4. System requirements:
|
|
|
|
BIOS - Any bios that allows automatic identification of disk drive
|
|
geometry and allows you to select the sequence of devices to boot from
|
|
should work. I successfully built systems based on both PhoenixBIOS
|
|
4.0 and AMI Plug and Play Flash BIOS.
|
|
|
|
|
|
DISKS - One fixed internal disk dedicated to Linux. (first disk) One
|
|
Removable drive enclosure, with any number of drives. (second disk)
|
|
|
|
|
|
Since a lot of this HOWTO has to do with disks, from now on I will
|
|
generally use the terms "first disk" and "second disk". The first
|
|
disk is the one initially accessed when the machine is turned on,
|
|
commonly known as the boot disk. It has LILO installed in the MBR and
|
|
is dedicated to a single operating system, specifically Linux. The
|
|
second disk is a removable disk that contains one or more alternative
|
|
operating systems which may or may not have a boot loader in the MBR
|
|
or elsewhere.
|
|
|
|
|
|
There are no other hardware/firmware requirements. Any other
|
|
requirements would be dictated by the specific O/S. For instance,
|
|
even though you could install it, Solaris 7 is not going to run well
|
|
on an old 90MHz machine! The configuration and methodology described
|
|
here should however work equally well regardless of the CPU speed or
|
|
other installed peripherals.
|
|
Operating Systems - I have tested this process with Linux (Redhat and
|
|
Suse), Solaris 7, BeOS, Win 98 and even MSDOS 6.22. I see no reason
|
|
why it wouldn't work with Win 95, O/S 2, or FreeBSD. I am not
|
|
familiar with Windows NT or 2000 so I don't know how they would react
|
|
to this kind of setup.
|
|
|
|
|
|
Boot loader - I used LILO on the first disk and BeOS bootman on the
|
|
second disks. I used LILO on the first disk because it was the only
|
|
boot loader that allowed me to select the MBR on the second disk as an
|
|
acceptable boot partition. Any relatively robust boot loader should
|
|
work on the second disk.
|
|
|
|
|
|
5. How it works (a scenario):
|
|
|
|
Prior to ignition, I insert a disk, preloaded with an operating system
|
|
in the removable drive. When I turn on the machine, I am presented at
|
|
the LILO prompt (by pressing <tab>) with "Linux" and "Disk2" as
|
|
options. Linux is the default and would automatically boot if I did
|
|
nothing. When selected, Disk2 either boots directly into the single
|
|
O/S stored on the second disk or presents me with a second boot menu
|
|
if there is more than one O/S on that disk. If I power down, replace
|
|
the second disk with another and power back up, I still get the
|
|
initial Linux/Disk 2 menu and, if I select Disk2, a new menu
|
|
appropriate to the newly inserted disk. Once installed, I never have
|
|
to modify the LILO configuration on the first disk, I never have to
|
|
change BIOS setting to boot from the second disk and I never have to
|
|
go through more than two menu selections to get my selected O/S up and
|
|
running.
|
|
|
|
|
|
6. The installation:
|
|
|
|
There are three distinct parts to the installation, first building the
|
|
primary O/S on its own dedicated drive. Second, building a second
|
|
disk with whatever alternative O/S you selected. Finally,
|
|
reconfiguring the BIOS and LILO to support both disks.
|
|
|
|
|
|
6.1. Installing the primary operating system
|
|
|
|
Installation of the primary/operational O/S is fairly straight
|
|
forward. Treat the system as if it were a single drive system
|
|
dedicated to Linux. Refer to the documentation that came with your
|
|
distribution or see <http://www.linuxdoc.org/HOWTO/Installation-
|
|
HOWTO.html> for details on installing Linux.
|
|
|
|
|
|
Because this is ultimately a multiple disk installation, there a few
|
|
steps that need to be taken to trick the install routines into
|
|
thinking that it is, during the installation process, a single disk
|
|
system.
|
|
|
|
|
|
First, Remove the removable Hard Drive and make sure the remaining
|
|
drive is identified in the BIOS as the secondary boot device (after
|
|
the floppy). The operating system install program should only see one
|
|
disk, the one you are going to install to. That way, there is no
|
|
question as to where it will be installed. Also, it will install
|
|
everything appropriate to a single disk system.
|
|
|
|
|
|
When asked, tell the install program to use the entire disk for your
|
|
operating system. I accepted the default RedHat partitioning and
|
|
installed the generic LILO on the MBR.
|
|
Once the installation is complete, shutdown and reboot to confirm that
|
|
your system works properly. At this point you should have a fully
|
|
functional machine that boots directly into Linux.
|
|
|
|
6.2. Installing alternative operating systems
|
|
|
|
Now that you have a fully functional system, you can move on to
|
|
building a second disk with your alternative operating systems.
|
|
|
|
|
|
Select an operating system or two for installation on the second disk.
|
|
I decided on, for no good reason, Windows 98 and BeOS for my initial
|
|
test case. I partitioned an 8GB drive into two 4GB primary partitions
|
|
and installed Windows 98 in the first partition and BeOS in the
|
|
second.
|
|
|
|
|
|
Do the same things with this install that you did with the first.
|
|
Disable the first disk in the BIOS so that this installer will not
|
|
even see it. This is very important. If you can physically remove or
|
|
disconnect the first disk, do it! This will protect your primary
|
|
system from any errors on your part or overly greedy operating systems
|
|
that want to take over all the disks they see during the second
|
|
installation. If at some time in the future you decide to create
|
|
another removable disk make sure and repeat this step.
|
|
|
|
|
|
Once this is done install your chosen operating systems as if you were
|
|
installing them on a single drive system.
|
|
|
|
|
|
If you are only installing one operating system on the second disk,
|
|
just plug in the installation disk and let it do its thing. Windows
|
|
95 or 98 or just about any other operating system, including a second
|
|
Linux should install just fine this way. Allow Windows 9x to write to
|
|
the MBR. If installing Linux, select MBR as the location to install
|
|
LILO.
|
|
|
|
|
|
I decided to install two operating systems on the second disk so that
|
|
I could confirm the functionality of cascading boot loaders.
|
|
|
|
|
|
I first installed Windows 98 because it automatically overwrites the
|
|
MBR and would have overwritten any boot loader code I eventually
|
|
placed there. Next, I installed BeOS in the second partition and ran
|
|
bootman, the BeOS boot loader. With it I built a boot menu for the
|
|
second disk and intentionally overwrote the Windows 98 MBR.
|
|
|
|
|
|
|
|
Bootman was not essential, I could have used any MBR based boot loader
|
|
but it was available and it works quite will.
|
|
|
|
|
|
Reboot frequently to make sure that everything works properly as a
|
|
single disk system. I rebooted after each O/S installation to make
|
|
sure it worked properly and also to make sure that the boot loader
|
|
menu worked properly.
|
|
|
|
|
|
6.3. Final BIOS and LILO configuration:
|
|
|
|
Next, reconfigure the BIOS so that it again recognizes the first disk
|
|
(physically reconnect it if you disconnected it earlier) as the boot
|
|
disk and so that it also recognizes the second disk. How to do this is
|
|
very system specific and dependent on your BIOS and whether you have a
|
|
SCSI/IDE or IDE/IDE setup. I haven't tried a SCSI/SCSI setup because
|
|
SCSI disks and removable frames are significantly more expensive than
|
|
IDE disks and frames. I wanted performance for my primary O/S but
|
|
could accept cheap on the other ones.
|
|
|
|
|
|
Make sure and set the second disk type to "Auto" or "Automatic". This
|
|
will force the BIOS to dynamically determine the disk type at boot
|
|
time. I have been able to successfully use an ancient 512MB disk, a
|
|
4GB, an 8GB, and even a 100MB IDE Zip disk as the second disk. All
|
|
recognized automatically by the BIOS.
|
|
|
|
|
|
Reboot the system and get back to Linux. At this point, even though
|
|
there are at least two operating systems installed, this LILO only
|
|
knows about the original Linux and should boot to it automatically.
|
|
Watch the boot process and you should see a message about
|
|
automatically identifying a disk. Once booted, check dmesg to make
|
|
sure Linux recognized the second disk.
|
|
|
|
|
|
Once this is done, you need to reconfigure LILO on the first disk to
|
|
make it aware of the second disk. Here are two different lilo.conf
|
|
files, one for a SCSI/IDE and another for an IDE/IDE system. Each has
|
|
some strengths and weaknesses...
|
|
|
|
|
|
|
|
# lilo.conf file for an internal SCSI disk and a removable disk
|
|
# configured as a master on the primary IDE connection
|
|
|
|
disk = /dev/sda # These four lines are necessary
|
|
bios = 0x80 # to get the SCSI disk re-mapped as
|
|
disk = /dev/hda # the primary drive even though it
|
|
bios = 0x81 # is selected in the BIOS as the
|
|
# boot device. This might be a BIOS
|
|
# specific problem.
|
|
|
|
# Without them you get the following errors from LILO:
|
|
#
|
|
# LILO version 21, Copyright 1992-1998 Werner Almesberger
|
|
#
|
|
# ading boot sector from /dev/sda
|
|
# Warning: /dev/sda is not on the first disk
|
|
# And LILO either hangs at LI or repeats endless "01 "'s across the screen
|
|
|
|
boot=/dev/sda
|
|
map=/boot/map
|
|
install=/boot/boot.b
|
|
prompt
|
|
timeout=50
|
|
image=/boot/vmlinuz-2.2.12-20smp
|
|
label=Linux
|
|
root=/dev/sda1
|
|
initrd=/boot/initrd-2.2.12-20smp.img
|
|
read-only
|
|
other = /dev/hda
|
|
# other = /dev/hda is the key element. Instead of redirecting lilo to
|
|
# a specific partition, it redirects it to the MBR on the second disk.
|
|
# that way, LILO doesn't have to know anything about the second disk and
|
|
# we can replace it with another because LILO always goes to the same place
|
|
# regardless of which specific disk is installed. LILO was the only boot
|
|
# loader I found that would do this.
|
|
label = Disk2
|
|
map-drive = 0x80
|
|
to = 0x81
|
|
map-drive = 0x81
|
|
to = 0x80
|
|
# The map-drive lines are necessary to make the second disk think it is
|
|
# actually the boot disk.
|
|
|
|
|
|
|
|
# lilo.conf file for a system with two IDE drives. Both are masters,
|
|
# /dev/hda on the primary connector and /dev/hdc on the secondary.
|
|
# /dev/hdb is a CDROM slave on the primary IDE connector.
|
|
# disk = /dev/hda # These lines are not necessary for the
|
|
# bios = 0x80 # IDE/IDE installation because the BIOS
|
|
# disk = /dev/hdc # already knows what order they are in
|
|
# bios = 0x81
|
|
boot=/dev/hda
|
|
map=/boot/map
|
|
install=/boot/boot.b
|
|
prompt
|
|
timeout=50
|
|
image=/boot/vmlinuz-2.2.5-15
|
|
label=linux
|
|
root=/dev/hda4
|
|
read-only
|
|
other = /dev/hdc
|
|
# other = /dev/hdc is again the key. This just redirects LILO to the
|
|
# MBR of the second disk. Whatever is there gets control.
|
|
label = Disk2
|
|
map-drive = 0x80
|
|
to = 0x81
|
|
map-drive = 0x81
|
|
to = 0x80
|
|
|
|
|
|
|
|
The /dev, boot, map and image entries are system specific and yours
|
|
will probably be different that mine. The entries in your initial
|
|
/etc/lilo.conf file should give you an accurate guide for your system.
|
|
I copied the "Linux" entry from the original install generated
|
|
lilo.conf file directly into the new lilo.conf. This should allow you
|
|
to boot into "Linux" and modify your lilo.conf even if the "Disk2"
|
|
entry fails totally.
|
|
|
|
|
|
Finally, run lilo -vvv to make sure it agrees with everything you are
|
|
trying to do.
|
|
|
|
|
|
7. Cost and gotcha's:
|
|
|
|
7.1. Cost:
|
|
|
|
I found a Frame and 1 drawer removable drive mount for $20.00. It is
|
|
the "SNT MOBILE RACK". Disks didn't cost me anything because I had
|
|
several old or small IDE drives around from upgrades etc. Even if you
|
|
have to buy them, 2GB IDE drives are cheap.
|
|
|
|
|
|
7.2. Gotcha's
|
|
|
|
1. Once you decide whether your removable drive is going to be a
|
|
master or slave, make sure and jumper it properly before securing it
|
|
in its case. If you forget this step it can take quit a while to
|
|
trace booting problems back to an improper jumper setting.
|
|
|
|
|
|
2. Make sure that O/S installation routines can ONLY see the drive
|
|
they are installing to. RedHat refused to let me install LILO to the
|
|
SCSI MBR if it could see the IDE drive. So, to install to an internal
|
|
SCSI drive, I had to physically remove the IDE. To install to the
|
|
IDE, I had to disable SCSI support in the BIOS.
|
|
|
|
|
|
3. If an O/S installation routine tells you it is going to repartition
|
|
ALL your drives and overwrite EVERYTHING believe it.
|
|
|
|
|
|
4. It is very easy to install an IDE cable backwards.
|
|
|
|
|
|
5. I only tested an IDE master/master set up. I am not sure how a
|
|
master/slave would work.
|
|
|
|
|
|
6. Installing the removable disk frame does require opening up the
|
|
computer case. If you are uncomfortable with this get a friend to
|
|
help.
|
|
|
|
|
|
7. If you set the removable disk to a specific disk type in the BIOS
|
|
it will work fine until you replace it with another disk of a
|
|
different type. Then you will get errors or warnings and the system
|
|
might not boot.
|
|
|
|
8. Plan everything in advance.
|
|
|
|
|
|
9. With a quick change to the BIOS, the second disk becomes your boot
|
|
disk. This means that you can have a fully functional O/S available
|
|
as your emergency/recovery disk.
|
|
|
|
|
|
|