[olug] multiple OS's On 2 disks

Phil Brutsche pbrutsch at creighton.edu
Tue Nov 28 22:03:16 UTC 2000


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

A long time ago, in a galaxy far, far way, someone said...

> it just occurred to me that if you're booted into suse, you probably
> won't have the redhat root mounted anywhere if your fs, and vice versa.
> this would prevent lilo from being able to install both kernels and make
> them available for booting.
>
> you may need to temporarily mount the the other distro's root directory,
> then edit lilo.conf appropriately before running lilo

Another way to do this would be to take advantage of the fact that PCs
have 2 stages (or three, depending on OS and who you ask :)

Stage 1: sector 0 of the hard disk; the MBR.  Usually, this stage will
   load and run the first sector of the partition that's marked as
   "bootable" - stage 2.
Stage 2: This boot loader knows where the kernel for whatever OS you run
   is located on disk.
Stage 3: sometimes the kernel itself; sometimes a command-line utility to
   be able to choose which kernel to load (note grub or the FreeBSD boot
   loader, for example)

The boot load I would use is grub.  It's a really neat little ditty of a
boot loader - the stage1 goes in the MBR, and can read the stage2 from
almost any device on the system.  grub's stage2 can read the following
filesystems *directly*:
 * ext2
 * fat16/fat32
 * reiserfs
 * minix

It also implements a menu system, and command line, and a method of
netbooting PCs with rarp, dhcp, or bootp, and tftp to load the kernel
image.

I'm assuming the following:
 * Windows /dev/hda
 * RedHat on /dev/hdb1
 * SuSE on /dev/hdb2

This is what I would do:

1) install a grub RPM on suse or redhat, it doesn't matter which
2) make a grub menu; put it in Windows as c:\grubmenu.  My menu:

timeout 5
default 0

title   Windows 98
root	(hd0,0)
makeactive
chainloader +1

title   RedHat
kernel  (hd1,0)/vmlinuz root=/dev/hdb1

title   SuSE
kernel  (hd1,1)/vmlinuz root=/dev/hdb2

3) copy the stage1 and stage2 files from the grub distribution and put
   them under c:\
4) run "grub" and enter these commands; I assume that Windows is on
   /dev/hda1:

   root (hd0,0)
   install /stage1 (hd0) /stage2 /grubmenu

Need to upgrade your kernel?  Make it /vmlinuz on the right file system
and reboot.  Need to tweak the menu?  Edit grubmenu and reboot.

PS: *keep* *an* *emergency* *boot* *floppy* (or cd) *available* for each
OS.  It's easy to screw this stuff up!

- -- 
- ----------------------------------------------------------------------
Phil Brutsche					pbrutsch at creighton.edu

GPG fingerprint: BDA4 C23C 1989 31FF CBE8  7EB4 6CA7 9636 941E 8451
GPG key id: 941E8451
GPG public key: http://www.creighton.edu/~pbrutsch/public-key.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: Made with pgp4pine

iD8DBQE6JCunbKeWNpQehFERArWFAJ0V6C9jJYkp2ehI0M8Y2v+vgQVmTACcC+CZ
14vtbOz+acrLXIzLW3696f0=
=YKqs
-----END PGP SIGNATURE-----


---------------------------------------------------------------------
To unsubscribe, e-mail: olug-unsubscribe at bstc.net
For additional commands, e-mail: olug-help at bstc.net



More information about the OLUG mailing list