OS 13.1 and 13.2 in parallel but grub2 does not recognize and configure boot stanzas right


Just installed OpenSuse 13.2.
I have installed 13.1 win7 on disk sda and dumped/restore 13.1 to a second disk sdb.
On this disk upgrades from 13.1 to 13.2. Everything worked right BUT grub2 menu is mangled.

It shows me 13.1 but will boot 13.2 (partition /dev/sdb15 which is 13.2)
13.1 not anymore present.

What I have done is removed /boot/grub2/grub.cfg and installed again from yast menu.
This will generate the same grub.cfg.

Now what can I do so I will get 13.1 and 13.2 with all the right submenus?
How can I exclude some partition to enter in the config file if I configure by hand?

Thanks for any hints


Are you booting with UEFI or with legacy MBR booting?

If the latter, where is grub2 installed?

What do your BIOS settings say about booting, device boot order or whatever?

Version shown in menu does not change on update, it is common problem. Edit /etc/default grub, replace 13.1 with 13.2 in GRUB_DISTRIBUTOR and regenerate grub.cfg.

I do not use UEFI, so it seems that I use legacy mode…

My problem is that Ihave 13.1 and 13.2 installed. On 13.1 I had installed too grub2.
Now my 13.2 installation removed grub2 stuff for 13.1 so I cannot anymore login in 13.1

What i have done for installation: dump of sda5 and restore to sdb15 with os 13.1. After this I have done an update on /dev/sdb15 to os 13.2
I suspect that some information of sda5 is on sdb15 and for that reason grub2-install thinks that current os is running on /dev/sda5 not sdb15

Output of os-prober

  No volume groups found
/dev/sda1:Windows 7 (loader):Windows:chain
/dev/sda2:Windows Recovery Environment (loader):Windows1:chain
/dev/sda5:openSUSE 13.1 (x86_64):SUSE:linux
/dev/sda6:openSUSE 12.3 (x86_64):SUSE1:linux
/dev/sdb6:openSUSE 12.3 (x86_64):SUSE2:linux

I now that I can manipulate grub.cfg by hand but next kernel installation will remove again 13.1
osprober gives right output but my 13.2 is missing which is on /dev/sdb15
So my question is. What can I do that eiter grub2-install does not delete my 13.1 entries or to correct 13.2 partition
that os-detect and grub2-install will regonize right?

Go to YaST bootloader configuration and enable “Probe for foreign OS” (I think it is called this, have localized interface).

already enabled… Any other hints?

Why in yast and grub2 mode I can edit only one entry. I have no access to modify an other entry old system etc.???
With grub in the past I could do this.

Upload grub.cfg to http://susepaste.org/ and post link.

FIrst one more question. I have replaced grub.cfg with an backup I had and original os 13.1 on /dev/hda5 will no boot anymore
It seems that initrd is loaded after that there is the message
Welcome to openSuse 13.1 (Bottle) (x86_64)!
and not anymore any message.
Kernel is in seperate /boot as before and modules for kernel are existent…
Very strange…

Any ideas why 13.1 on first hd will not anymore boot after an upgrade of an diskimage of this partition and restored on second hd and done an upgrade?
Second os 13.1 on second hd booted fine as the one on first hd before upgrade :frowning:

Thinking what could be wrong: Is it possible that new grub of os 13.2 is not compatible with 13.1?
/boot is a own filesystem shared with both systems and /boot/grub2 stuff was replaced by os 13.2 installation I think…

You can’t share /boot that is where the kernels live. Each OS must have its own /boot

Now /boot/efi is a FAT formatted partition that has the EFI boot stuff and that is shared between all OS

Sorry I’m lost…
I don’t use grub2 in efi mode and initrd is loaded I think (1.stage) but when starting kernel (2.stage) I think there is nothing more.
Kernel is there…
If /boot is not shared how you can have 3 different linux versions. How could be done a kernel upgrade since a shared boot???

/boot is used for the kernel and other stuff needed to start Linux. It is not a generic start all thing. You need one for each and every Linux. But it is only a directory in the / tree. Some like and sometimes you need the /boot directory to live in it own partition. But each and every Linux needs it’s own since it’s kernel(s) live there. If you are not using encryption you generally do not even need the separate boot partition. It is simply a directory.

In EFI systems there is a special partition called efi boot it is mounted in Linux as /boot/efi it is NOT the Linux /boot partition it is formatted as FAT and is used by efi to boot all the OS on the system. On the old MBR boot systems this does not exist. boot code is placed in a special disk location called the MBR. This is the first sector(s) of the fist track then only one OS controls the boot and can then chain to any other OS available

I do not share “/boot”.

I use an encrypted LVM, so I need a separate “/boot”. So I use two distinct “/boot” partitions.

My backup machine uses “/dev/sda1” as “/boot” for opensuse 13.2, and it uses “/dev/sda6” as “/boot” for opensuse 13.1. Those partitions are around 500M, and formatted as “ext2”.

I tell the installer:

Boot from “/boot”
Do not put generic boot code in the MBR (there’s already Windows boot code there)
Do not set the active partition.

I usually have the Windows partition set to active, and use the Windows boot manager to select which system to boot (I used BCDEDIT for that). But I also add a grub entry in each of the opensuse systems, to boot the other opensuse system. I do this with “/etc/grub.d/40_custom”, with a “configfile” menu entry.

A newly installed opensuse won’t boot from the Windows boot manager until I copy its boot sector into the relevant Windows file. I use “dd” for copying (but it needs the right arguments).

After installing 13.2, I chose the 13.1 system from the Windows boot manager. Then I used the grub entry in 13.1 to boot 13.2. That got me into the system before I had taken care of all of the details (such as copying the boot sector).

I’m obviously giving more detail than you wanted, though perhaps not enough if you intend doing the exact same. I thought you might be interested in how other folk deal with a similar situation.