Ubuntu Grub2 No Longer Detected openSUSE after online update.

Hi Everybody,
This is my first time using openSUSE and my first post in this forum.

Before, I was using tripleboot system in one hard drive. That included Windows 7,
Ubuntu 10.10 and Ubuntu 11.04. And yesterday I decided to added openSUSE 11.3
at another partition. I’m using Ubuntu 11.04 grub2 as bootloader.

At first there was no problem. All OS detected well, but after opeSUSE online updates
last night my openSUSE partition won’t boot. First, at boot I chose openSUSE and it said
“Boot kernel first” and nothing happens. And then I boot to ubuntu and ran update-grub
then I saw grub no longer detected openSUSE partition.

Please help…

This is normal.
Under Ubuntu, run:

sudo update-grub
  • Welcome to this forum! :slight_smile:

I am not an expert on Grub2, but if you update openSUSE where the update included a change to the Kernel, you could be in trouble because openSUSE wants to update the legacy grub menu. The normal wisdom to keep Ubuntu and openSUSE happy together is to let both programs load their own boot loaders in separate partitions. Let only one boot and then in the menu of one, load the grub boot loader of the other as if you were loading Windows. You know, the rootnoverify and chainloader +1 stuff. That way, each has their own grub menu and they don’t mess with each other. I say, you need to revive Grub2 right now, so here is a link I found on that subject. Then consider letting openSUSE have it own menu and not trying to blend the two together.

Grub 2 Basics - Ubuntu Forums

Thank You,

Thanks for welcoming me… :slight_smile:

I know it is weird but I’m happy this happen anyway.

I have just finished updated my ubuntu 11.04 that brought new kernel
so it updated the grub automatically and I surprised that update-grub
bring back opensuse to grub menu… yayyy :smiley:

Hi James,
Thank you for your suggestion.
I have read before that if we want to make multiple boot linux distros it is safer if we create separate boot partition for each of them.
But I don’t really know how to doing that. :smiley:
I think i will try that configuration later, but now my partition table is full and only left one partition that I’m using as opensuse partition.
I only use partition for opensuse, no separated /home partition and for swap it shares with ubuntu.

I’m happy now that my opensuse works and I hope it always be like that.

Thank you.

I have read before that if we want to make multiple boot linux distros it is safer if we create separate boot partition for each of them.


A single /boot maybe

But IMO. Not necessary in most cases.

Make sure you have the package os-prober installed in Ub*

I read that too … but it’s not true. People just like to write this kind of stuff.

You’ll have to run sudo update-grub under Ubuntu after each kernel update on openSUSE. But there is something else you can do. I assume you did install openSUSE’s Grub it its own partition. And if not, it’s not too late (but I bet you did - or the setup did it for you). Find out which partition it is and edit the file /etc/grub.d/40_custom as root under Ubuntu:

sudo gedit /etc/grub.d/40_custom

It looks like this:

exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

Don’t touch these lines but add the following at the end (if for example your openSUSE partition were sda3):

menuentry "openSUSE Grub" {
  set root=(hd0,3)
  chainloader +1

Notice that (hd0,3) is sda3, (hd0,5) is sda5, (hd1,1) is sdb1, etc. (in Grub2 syntax!)
Save this file and run sudo update-grub.

This entry will call (chainload) openSUSE Grub, from where you can also boot openSUSE’s kernel. The difference is that this entry will always work, as it is independent from the kernel which is installed under openSUSE. For the other entry to work - the one which boots openSUSE’s kernel directly, you’ll have to update-grub if this kernel (the openSUSE one) has changed. When Ubuntu updates its own kernel, it runs update-grub afterwards.

Wow, I’m sure that I read that somewhere :frowning:

Thanks for told me this.

Yes, os-prober package already installed (by default actually)

After openSUSE update I rebooted the computer and when I chose openSUSE it failed to boot,
“Can’t boot, load kernel first”.
Then I booted ubuntu open the terminal and did sudo update-grub but no output for openSUSE.
For sure I restarted the computer and well, there was no option for openSUSE. By then, I had no idea.
Now, i think if the same problem happens again above tips is the solution :smiley:

The weird thing, I updated ubuntu after that 11.04 alpha2, a lot of update. Maybe one of them update for grub.
I read terminal output when it’s configuring and I see output for openSUSe boot, lol.

So, i think maybe this is bug at Ub* part.

Thanks for your help.

I read that too … but it’s not true. People just like to write this kind of stuff.

+1 …

I just updated Ubuntu (11.04 Beta 1) and update-grub doesn’t find my openSUSE partition anymore. It’s there, the thing is probe just can’t find it. And everything was working fine a couple of minutes ago, and by working fine I mean perfectly fine. About half an hour earlier I updated grub and changed a few things around, and it was still there. Anyone knows how to fix this?

You do notice the word beta in there??

It may be that something broke the Grub2 package in the update. I suggest you take this up on a Ubuntu fourm.

Yeah, I’m aware of that fact. But I was playing with openSUSE and I was really enjoying the distro, now it just vanished from GRUB. The kernel was updated from 2.6.38-7 to *-8. I’m just looking into figuring out what happened, I’ll try booting on *-7 and running update-grub again.

It is the grub2 that is failing if it can not detect the OpenSUSE install. I assume you can mount the OpenSUSE partition just to make sure it is still there?

Yes, I can. But there’s nothing I can do with that, is there? The only thing I didn’t like about openSUSE was the boot loader.

Nope nothing until they fix the problem in Ubuntu.

I guess you could install the old (mostly) reliable grub from OpenSuse and boot Ubuntu from that menu. Or maybe rolling back the last Ubuntu Update might work. But really since this is beta it need to be reported to the Ubuntu Bugzilla

Thanks. Will do, first thing tomorrow after class.

Make sure that Ubuntu has this package installed os-prober
Then run update-grub

Someone told me how to fix it, I just needed to mount the openSUSE partition and then run update-grub. But thanks, anyway.

Odd you should not have to mount it. But if it works…