Can't boot into SUSE after Ubuntu install

I’ve recently put OpenSUSE 11 on my machine, then I installed Ubuntu. Now I can’t get Grub to recognize Suse. I did the partitioning myself and I’m kind of leaning towards that being the issue, but I’m not 100% sure.

As I can only get into Ubuntu and Windows without using the LiveCD I’ll give you what my fdisk says from Ubuntu:

Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xedaaedaa

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        5120    41126368+   7  HPFS/NTFS
/dev/sda2            5121        5382     2104515   82  Linux swap / Solaris
/dev/sda3            5383       10604    41945715   83  Linux
/dev/sda4           10605       30401   159019402+   5  Extended
/dev/sda5           10605       29691   153316296   83  Linux
/dev/sda6           29692       30401     5703043+  82  Linux swap / Solaris

And here’s my Grub’s menu.lst

# menu.lst - See: grub(8), info grub, update-grub(8)
#            grub-install(8), grub-floppy(8),
#            grub-md5-crypt, /usr/share/doc/grub
#            and /usr/share/doc/grub-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not use 'savedefault' or your
# array will desync and will not let you boot your system.
default		0

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout		10

## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu

# Pretty colours
#color cyan/blue white/blue

## password '--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line)  and entries protected by the
# command 'lock'
# e.g. password topsecret
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret

#
# examples
#
# title		Windows 95/98/NT/2000
# root		(hd0,0)
# makeactive
# chainloader	+1
#
# title		Linux
# root		(hd0,1)
# kernel	/vmlinuz root=/dev/hda2 ro
#

#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
##      kopt_2_6_8=root=/dev/hdc1 ro
##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=769b8506-4b75-461c-9f9a-7e9e7acfe04c ro

## Setup crashdump menu entries
## e.g. crashdump=1
# crashdump=0

## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,4)

## should update-grub create alternative automagic boot options
## e.g. alternative=true
##      alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
##      lockalternative=false
# lockalternative=false

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash

## should update-grub lock old automagic boot options
## e.g. lockold=false
##      lockold=true
# lockold=false

## Xen hypervisor options to use with the default Xen boot option
# xenhopt=

## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
##      altoptions=(recovery) single
# altoptions=(recovery mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
##      howmany=7
# howmany=all

## should update-grub create memtest86 boot option
## e.g. memtest86=true
##      memtest86=false
# memtest86=true

## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false

## ## End Default Options ##

title		Ubuntu 8.04.1, kernel 2.6.24-22-generic
root		(hd0,4)
kernel		/boot/vmlinuz-2.6.24-22-generic root=UUID=769b8506-4b75-461c-9f9a-7e9e7acfe04c ro quiet splash
initrd		/boot/initrd.img-2.6.24-22-generic
quiet

title		Ubuntu 8.04.1, kernel 2.6.24-22-generic (recovery mode)
root		(hd0,4)
kernel		/boot/vmlinuz-2.6.24-22-generic root=UUID=769b8506-4b75-461c-9f9a-7e9e7acfe04c ro single
initrd		/boot/initrd.img-2.6.24-22-generic

title		Ubuntu 8.04.1, kernel 2.6.24-19-generic
root		(hd0,4)
kernel		/boot/vmlinuz-2.6.24-19-generic root=UUID=769b8506-4b75-461c-9f9a-7e9e7acfe04c ro quiet splash
initrd		/boot/initrd.img-2.6.24-19-generic
quiet

title		Ubuntu 8.04.1, kernel 2.6.24-19-generic (recovery mode)
root		(hd0,4)
kernel		/boot/vmlinuz-2.6.24-19-generic root=UUID=769b8506-4b75-461c-9f9a-7e9e7acfe04c ro single
initrd		/boot/initrd.img-2.6.24-19-generic

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

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title		Other operating systems:
root


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title		Windows XP Media Center Edition
root		(hd0,0)
savedefault
makeactive
chainloader	+1

Suffice to say I’m a bit of a novice so any ideas would be much appreciated.

I’ll be glad to provide any other info that might be needed. I’m just hoping this doesn’t end up with "have you thought about reinstalling?"lol!

Hi There,

It can really be annoying getting grub set up right to see all your installs. It looks to me like you just need to add a clause to Grub for you Suse install, all the ones there refer to the Ubuntu partition and its various kernels. Use them as a guide and create one for Suse, though of course you will need to know the correct kernel and initrd to specify:

title Suese, kernel 2.6.whatever-generic
root (hd0,2)
kernel /boot/vmlinuz-2.6.whatever-generic root=UUID=769b8506-4b75-461c-9f9a-7e9e7acfe04c ro single
initrd /boot/initrd.img-2.6.whatever-generic

Notice the root=UUID=, I believe you will need to change that to the UUID of the partition Suse is on - you can find the UUID with:

ls -lhat /dev/disk/by-uuid/

Another option is to use a Live CD (the Suse install CD, etc.) and find an option to boot an existing install. Use that to boot your Suse install. Once running you can just use Yast → Boot Loader to scan the drives and create a whole new grub.conf that will list all your installs.

Thanks for the reply. I’m hoping that’s all that it’ll take to get it up and running. Working on a paper atm :frowning: so I can’t really try it, but I’ll be sure to check back and let you know. :slight_smile:

Alrighty… I gave it a shot and got an Error 15: File not found. So that means I’m missing something.

Here are the results from my uuid.

total 0
drwxr-xr-x 2 root root 140 2008-11-30 18:19 .
lrwxrwxrwx 1 root root  10 2008-11-30 18:19 0b78fd18-9966-4f86-99f1-3f6e8673f773 -> ../../sda6
lrwxrwxrwx 1 root root  10 2008-11-30 18:19 769b8506-4b75-461c-9f9a-7e9e7acfe04c -> ../../sda5
lrwxrwxrwx 1 root root  10 2008-11-30 18:19 cc4ba929-5f31-4aab-b2d7-6cd89297895d -> ../../sda3
lrwxrwxrwx 1 root root  10 2008-11-30 18:19 4af98ac3-eda6-424c-b462-f940eae1cf29 -> ../../sda2
drwxr-xr-x 5 root root 100 2008-11-30 18:19 ..
lrwxrwxrwx 1 root root  10 2008-11-30 18:19 6054F6A8E07FB76E -> ../../sda1

And based on that I added this segment to my menu.lst.

title OpenSUSE, kernel 2.6.25.5-1.1-default
root (hd0,2)
kernel /boot/vmlinuz-2.6.25.5-1.1-default root=UUID=4af98ac3-eda6-424c-b462-f940eae1cf29 ro single

initrd /boot/initrd.img-2.6.25.5-1.1-default

I got the kernel number from the liveCD (not the actual install) so I’m wondering if that might be the source of the issue.

TBQH… I don’t know how to find out the kernel release from the actual install if that is the issue (told ya… I’m a nub;) ).

I’m hoping that it’s just a problem with Grub and not something broken in SUSE itself.

Anybody? :slight_smile:

Since I couldn’t edit I’ll make a new post.

Edit: Changed the UUID to the right one… from sda3, not 2 like in my post. But still no luck.

You can use the Opensuse DVD if you have one to to install a new Grub that includes all your operating systems. This tutorial is even better.
If you don’t have the DVD, you can access the Opensuse Grub from Ubuntu (if you don’t have tight security settings on Suse).
It should be in /boot/grub/menu.lst on the Opensuse root partition. Copy the - usually - 1st entry into your Ubuntu Grub. No guarantees, but this has worked for me several times.

Here’s the Ubuntu solution: Open terminal and do:

sudo update-grub

That script should locate the openSUSE menu.lst and merge the boot stanza into your Ubuntu menu.lst. If it fails to do so, there are simpler solutions than what you are trying to do manually. It’s important to remember that if you use an explicit kernel file name in your stanza, and that file name changes (as it does with any kernel update), you must either re-run update-grub or manually change menu.lst. To avoid that, you can do one of 2 things:

First, in openSUSE install its grub to its root partition. Then the Ubuntu menu.lst stanza would be:

title OpenSUSE
root (hd0,2)
chainloader +1

In the above, the Ubuntu grub calls the openSUSE grub; this is called “chainloading”. Alternatively, you can do this:

title OpenSUSE
root (hd0,2)
kernel /vmlinuz root=/dev/sda3 splash=silent showopts vga=0x317
initrd /initrd

This method boots openSUSE directly. vmlinuz and initrd are symlinks which always link to the current kernel and initrd file names. Therefore, when the file name is changed in openSUSE there is no need for a change in Ubuntu’s menu.lst. You want to put one of these in the Ubuntu menu.lst outside of the “automagic” section (the file is self-documented so you will see why/where to do this). If you think that the disk sequencing on your machine may change, that is, that sda3 might become something else, then use the device-by-id; you’ll find it in the openSUSE /etc/fstab and /boot/grub/menu.lst; that will be easier and consistent, as opposed to the UUID.

Thanks for all the help folks. I do have a more pressing issue that I need to fix before I give any of your advice a shot however.

Somehow during the Ubuntu install my Suse kernel got deleted so my /boot folder is empty (oddly it was only my /boot all the rest of the files are there… heh). Gotta fix that.

Thanks again.

Check your partitioning and mounting. You could be overlaying it.

Ok… I understood the words you used, but when you put them together it stopped making sense.

How would I do that? I’m new to this whole Linux game, so I’m not sure how to check that. Even if you could point me to a guide that would be really great (my Googlefu failed me on this one).

Possibly because /boot was in a separate partition and all you’re seeing is the mount point.

Great news! I did a reinstall of SUSE and deleted that extra partition now things are working like a dream. Not 100% sure what happened or if deleting that partition actually did anything, but I’m writing to you from inside SUSE right now so I’m content for the time being.

Whatever happened it seems to be fixed. Thanks for all your help!:smiley: You guys have been awesome for holding this newbies hand.

Edit: P.S. Ubuntu works too. Haven’t tried Windows, but I won’t be crying a river if it’s messed up.

Sorry I wasn’t more clear. It’s when you mount one partition on top of part of another. Say you mount a root partition which includes a /boot subdirectory, and then mount another partition to /boot as the mount point. The second partition has been overlaid on top of the first partition’s /boot subdirectory, consequently you won’t see the root’s /boot subdirectory files, you’ll only see what is on the second partition. I’ve seen this happen when users have tried to set up /boot shared by multiple installations. You probably haven’t done this, but when a subdirectory’s files unexpectedly disappear entirely, sometimes it’s because they’re being hidden by something else, not because they have actually been deleted.

It’s cool, you don’t really know my level of skill so it’s understandable if you say things I don’t get… heh.

I’ve come to a conclusion after messing around with SUSE for a bit. I like it. I don’t like KDE 4, but that’s to be expected that I wouldn’t like a beta version of a UI when I’m just learning how to use it :wink: . I’m going to put 3.5 on my system and see how that goes.

I’ll definitely be back to bug you guys some more. :stuck_out_tongue: