Multi-boot old distro

I have an old Linux distro installed on my first drive (sda). I can boot to it by selecting that drive in my BIOS boot order. It’s grub/menu.lst looks like this…

# /boot/grub/menu.lst - generated by Lizard

# options

timeout = 5
splashscreen = (hd0,0)/boot/message.col24

default = 0

title  = Linux
root   = (hd0,0)
kernel = /boot/vmlinuz-pc97-2.2.14-modular vga=274  noapic nosmp debug=2 root=/dev/hda1

default = 0

title  = Linux
root   = (hd0,0)
kernel = /boot/vmlinuz-pc97-2.2.14-modular 3 vga=274  noapic nosmp debug=2 root=/dev/hda1

NOTE that there is no initrd.

I am using OpenSuse 11.3 32bit with no GUI running off /dev/sdb and /dev/sdc. My current menu.lst works fine. When I try to add a section for the old distro, grub appears to get confused by the (hd0,0) configuration and does not find the correct file system (ext2). When I change it to (hd2,0) it finds the file system but reports “file not found”. I assume this is because there is no initrd. I changed the partition references to sd instead of hd for compatability.

Any suggestions would be appreciated.

You can add an entry like this

###Don't change this comment - YaST2 identifier: Original name: OLD LINUX###
title Some Old Linux
root (hd0,0)
configfile /boot/grub/menu.lst

This produces…

Filesystem type unknown, partition type 0x82

If I change it to root (hd2,0) then it identifies it correctly.

Filesystem type is ext2fs, partition type 0x83

BUT then it reports…

Error 15: File not found

Unfortunately if you used to boot that disk by changing the drive order in the BIOS, the lines will not work when another drive order is active. You will have to change (hd0,0) everywhere to (hd2,0) and also change hda to sdc. You can experiment without modifying menu.lst (in 11.3) by using the interactive mode of grub. Just type in:

root (hd2,0)
kernel /boot/vmlinuz-pc97-2.2.14-modular vga=274 noapic nosmp debug=2 root=/dev/sdc1

to grub and see how far you go. Hint: you can use file completion to check whether a given kernel exists or not, perhaps that filename is also wrong. Or /boot is a separate partition on that disk?