Grub with Ubuntu

Hi, i have Windows 2000, ubuntu 9.10 and openSUSE 11.2 on my system. I am using GRUB that came with openSUSE to boot all three. It used to work fine, but my Ubuntu started messing up, so i re-installed Ubuntu. I then changed using Kwrite what i think i needed to change in order to boot Ubuntu but it will not run.

the result of fdisk -l

Disk /dev/sdb: 15.4 GB, 15364339200 bytes
255 heads, 63 sectors/track, 1867 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xf5924428

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1             925         972      385560    5  Extended
/dev/sdb2             973        1820     6811560   83  Linux
/dev/sdb3            1821        1867      377527+  82  Linux swap / Solaris
/dev/sdb4               1         924     7421998+  83  Linux
/dev/sdb5             925         972      385528+  82  Linux swap / Solaris

Partition table entries are not in disk order

Disk /dev/sda: 20.0 GB, 20020396032 bytes
255 heads, 63 sectors/track, 2434 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000080

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        2434    19551073+   b  W95 FAT32

It is on dev/sdb4

this is what the menu.lst looks like

# Modified by YaST2. Last modification on Fri Dec 11 22:23:56 EST 2009
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader

default 0
timeout 8
gfxmenu (hd1,1)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE LINUX  11.2
    root (hd1,1)
    kernel /boot/vmlinuz root=/dev/disk/by-id/ata-ST315323A_7EH00QZW-part2 resume=/dev/disk/by-id/ata-ST315323A splash=silent_7EH00QZW-part6 vga=0x305
    initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- SUSE LINUX 
    root (hd1,1)
    kernel /boot/vmlinuz root=/dev/disk/by-id/ata-ST315323A_7EH00QZW-part2 showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe
    initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: other###
title Windows 2000 Professional
    rootnoverify (hd0,0)
    chainloader +1

#Don't change this comment - YaST2 identifier: Original name: none#
title Ubuntu booting via symlinks
    root (hd 1,4)
    Kernel /vmlinuz root=dev/sdb4 ro quiet splash
    initrd/initrd.img

Can anybody help?

thanks

IMO you would be best using ubuntu grub (which you will know is grub 2)

Use the live cd for Ub* and follow this:

https://wiki.ubuntu.com/Grub2#Recover%20Grub%202%20via%20LiveCD

The two key things are:

update-grub

and

grub-install /path to/first boot device

Eg; grub-install /dev/sda

You can run update-grub again once you have Ub* booting from it’s grub and it will pick up anything it missed first time, then do
grub-install /dev/sda?b? whichever it is a/b

ok, i’ll try that

thanks

You need to have the drives in the boot order that they were in when you installed everything.!

Grub should go to the first device

There’s a type in this line:

initrd/initrd.img

It should be like this:

initrd /initrd.img

might save a lot of work

The problem with installing Ubuntu’s loader is that when Suse has it’s next kernel update, it won’t boot any longer from Ubu’s loader and then you have to use a “symlink” entry in Ubu’s loader to get it Suse boot, so you might as well get the symlink thing right for booting Ubu from openSUSE’s loader and save all that extra work.

thanks, but it won’t run, i get GRUB erorr 23

That’s because of the mismatched partitions.
It’s either sdb4 and (hd1,3) —or— (sdb5) and (hd1,4)
but it’s not (hd1,4) and sdb4

When you write sdbx and (hd1,y), the y is x-1

Just looked at your fdisk and looks like the Ubu partition is sdb4, and there’s also another typo at root=/dev/etc, so try this:

#Don't change this comment - YaST2 identifier: Original name: none#
title Ubuntu booting via symlinks
root (hd1,3)
kernel          /vmlinuz        root=/dev/sdb4 ro quiet splash
initrd          /initrd.img

thanks, i’ll try that right now, i was looking off a diferent computer, but i have internet up and running on SUSE now so i’ll copy and paste.

Thanks, swerdna, that workd fine.

that makes sense to me now. I’ll remember that for next time, only watch me forget and have to ask again

A long story, but a simple fix and a happy ending