Help with grub...

Hey Guys,

  I have added Opensuse to my PC that also have Windows XP, Windows 7 RC, and Ubuntu on it.  I added it to a partition on the drive also containing Windows 7, and because I was already using grub to boot ubuntu, and the other OS's I opted not to instal it with opensuse.  I thought for some reason I could just copy the entry for windows 7 and modify the drive partition section to point it to the Opensuse drive but I was unsucsessfull.  Can someone show me what my opensuse entry should look like?  Here is what I have:

title Microsoft Windows XP Pro
root (hd1,0)
savedefault
makeactive
map (hd0) (hd1)
map (hd1) (hd0)
chainloader +1

title Microsoft Windows 7 Ultimate RC
root (hd2,0)
savedefault
makeactive
map (hd0) (hd1)
map (hd1) (hd0)
chainloader +1

title OpenSuse 11.2
root (hd2,1)
savedefault
makeactive
map (hd0) (hd1)
map (hd1) (hd0)
chainloader +1

title Ubuntu 8.04.1, kernel 2.6.24-16-rtai
root (hd0,0)
kernel /boot/vmlinuz-2.6.24-16-rtai root=UUID=1c16ab9e-b0cc-4abe-977a-e9451f4445de ro quiet splash
initrd /boot/initrd.img-2.6.24-16-rtai
quiet

title Ubuntu 8.04.1, kernel 2.6.24-16-rtai (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.24-16-rtai root=UUID=1c16ab9e-b0cc-4abe-977a-e9451f4445de ro single
initrd /boot/initrd.img-2.6.24-16-rtai

title Ubuntu 8.04.1, memtest86+
root (hd0,0)
kernel /boot/memtest86+.bin
quiet

The opensuse entry does not work as listed - I am fairly new at linux so go easy on me! Thanks.

Please do this in ubuntu

sudo fdisk -l

Post result and tell us which HD and partitions are for openSUSE, particularly the root partition.

Thanks for the help:

Disk /dev/sda: 41.1 GB, 41174138880 bytes
255 heads, 63 sectors/track, 5005 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x2d602d5f

Device Boot Start End Blocks Id System
/dev/sda1 * 1 4795 38515806 83 Linux
/dev/sda2 4796 5005 1686825 5 Extended
/dev/sda5 4796 5005 1686793+ 82 Linux swap / Solaris

Disk /dev/sdb: 82.3 GB, 82348277760 bytes
255 heads, 63 sectors/track, 10011 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x1fb4c4ec

Device Boot Start End Blocks Id System
/dev/sdb1 1 6187 49695744 7 HPFS/NTFS
/dev/sdb2 * 6188 7717 12289725 83 Linux
/dev/sdb3 7718 10011 18426555 83 Linux

Disk /dev/sdc: 200.0 GB, 200049647616 bytes
255 heads, 63 sectors/track, 24321 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000001

sda 1,2 and 5 are my Ubuntu partitions/drive
sdb 1 is my Windows 7 RC partition
sdb 2, and 3 are my opensuse partitions
and sdc is my windows XP partition/drive

Opensuse is sharing the Ubuntu swap partition. Thanks.

Try this:

title openSUSE 11.2 (on /dev/sdb2) by symlinks
root (hd1,1)
kernel /boot/vmlinuz root=/dev/sdb2
initrd /boot/initrd
savedefault
boot

Hmm… I tried the above and I got the same thing I got from my opensuse entry… Any other ideas?

Device Boot Start End Blocks Id System
/dev/sdb1 1 6187 49695744 7 HPFS/NTFS
/dev/sdb2 * 6188 7717 12289725 83 Linux
/dev/sdb3 7718 10011 18426555 83 Linux

sdb is hd1
sdb2 is part 1

You relaize sda1 = (hd0,0)

so

sdb2 = (hd1,1)

What error do you get?

Yes, I understand that, however, Windows 7 is also on this drive, and its entry in Grub is hd2,0 - wouldn’t that make The suse instalation hd2,1??? I was getting erroe 22 - I don’t remember the rest of the message, I will try it again and write down the rest of the error. Thanks for the help.

If you are telling me W7 works with (hd2,0) then try suse with (hd2,1)

This suggests that sdc is earlier in the HD boot order than sdb (Maybe?)

I tried that as well and I believe I got error 15, and yes, W7 works on hd2,0. I will try it again.

“This suggests that sdc is earlier in the HD boot order than sdb (Maybe?)”
Yes, this is true.

edit: Yes, I get “error 15 file not found” with the hd2,1 value.

the error 22 was no such partition (That figures now)

error 15 = file not found (this is better)

In our entry we use symlinks

you could try pointing directly to the kernel

initrd /boot/initrd-2.6.31.5-0.1-default

You may need to change your entry to match your kernel initrd

so it could be:

title openSUSE 11.2 (on /dev/sdb2)
root (hd2,1)
kernel /boot/vmlinuz root=/dev/sdb2
initrd /boot/initrd-2.6.31.5-0.1-default
savedefault
boot

I am still getting error 15. How do I determine what my kernel initrd is?

You need to look in the /boot folder on sdb2

Ok, I loaded SUSE from the live CD to try to gain access to the sdb2 /boot directory with no luck, but the live CD has some files in the /boot location and I wrote down the numbers but it is the same as the numbers you supplied. Any other ideas?

You should be able to mount sdb in ubuntu

sudo mount /dev/sdb2 /mnt

or use a Parted magic CD

For all I know you have the pae kernel or the desktop kernel

I believe the Ubuntu install uses the ext3 file system, would it still be able to mount the ext4 sdb partition?

Then use a live cd for suse 11.2 or Ubuntu 9.10