running on line update after 11.3 install loses suse boot option on dual boot system

I have done a new install of 11.3 on one of my development systems after a hard disk crash and found that when i use on line update the next reboot brings up the grub menu but the entries for the suse boot have gone. can anyone help here? I have reinstalled and reran the update with the same result. if there are problems with 11.3 in this area i can always revert to 11.2.

ian chivers

Welcome to openSUSE and to openSUSE forums.

Typically the menu items for the grub boot menu are contained in the /boot/grub/menu.lst file (which needs root permissions to open). The contents of this file are typically changed when a new/updated kernel is installed, and when the “update” is run for openSUSE-11.3 there is a kernel update. My guess is that kernel update is what is causing you this problem, and that the script inside the kernel rpm is not capable of dealing with the partitioning setup on your PC.

What I typically do in order to prevent being ‘bit’ by such a possibility, is always keep a backup copy of my /boot/grub/menu.lst file. Then after a kernel rpm update, but BEFORE I reboot, I compare the new updated /boot/grub/menu.lst file against the old /boot/grub/menu.lst file and look at the differences. Often, if the grub menu is to be changed such that a reboot won’t work, I will pick it up there (and I do a very careful and judicious edit). Again, typically this only happens if I have a very complex partitioning setup.

Unfortunately, what I typed above is how to “close the barn door after the horse has gone” and it does not help you “get the horse back in the barn” after it is left. Others more knowledgeable in the use of GRUB are going to have to help you. You may need to boot to a Linux liveCD and provide the output of:

fdisk -l 

and the content of

/boot/grub/menu.lst 

and then explain to the guru’s which of the partitions listed in the above “fdisk” output correspond to your openSUSE-11.3 partitions.

I’d download a LiveCD, boot from it, change to the installed system and reinstall the bootloader using Yast. If you need explanations for that, please get back here.

I don’t think the set up I have is very complex. I’ve now installed suse 11.3 for the 3rd time
and am NOT going to run on line update until I find out what may be going wrong.

The output that follows is therefore of the system before I try running on line update.


Here is the output from running fdisk -l

linux-xwf6:~ # fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xef72e265

Device Boot Start End Blocks Id System
/dev/sda1 * 1 60802 488384512 7 HPFS/NTFS

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc0d1112c

Device Boot Start End Blocks Id System
/dev/sdb1 1 262 2103296 82 Linux swap / Solaris
Partition 1 does not end on cylinder boundary.
/dev/sdb2 262 26371 209713152 83 Linux
/dev/sdb3 26371 60802 276569088 83 Linux

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe21aef14

Device Boot Start End Blocks Id System
/dev/sdc1 * 1 40545 325669680 7 HPFS/NTFS
/dev/sdc2 40545 121601 651089328+ f W95 Ext’d (LBA)
/dev/sdc5 40545 121601 651087872 7 HPFS/NTFS

here is a cat of the menu.lst file.

linux-xwf6:/boot/grub # cat menu.lst

Modified by YaST2. Last modification on Fri Dec 31 15:54:28 GMT 2010

THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader

Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader

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

###Don’t change this comment - YaST2 identifier: Original name: linux###
title Desktop – openSUSE 11.3 - 2.6.34-12
root (hd1,1)
kernel /boot/vmlinuz-2.6.34-12-desktop root=/dev/disk/by-id/ata-Hitachi_HDS721050CLA362_JP5570HK093YYP-part2 resume=/dev/disk/by-id/ata-Hitachi_HDS721050CLA362_JP5570HK093YYP-part1 splash=silent quiet showopts vga=0x375
initrd /boot/initrd-2.6.34-12-desktop

###Don’t change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe – openSUSE 11.3 - 2.6.34-12
root (hd1,1)
kernel /boot/vmlinuz-2.6.34-12-desktop root=/dev/disk/by-id/ata-Hitachi_HDS721050CLA362_JP5570HK093YYP-part2 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x375
initrd /boot/initrd-2.6.34-12-desktop

###Don’t change this comment - YaST2 identifier: Original name: windows 1###
title windows 1
rootnoverify (hd0,0)
chainloader +1

###Don’t change this comment - YaST2 identifier: Original name: windows 2###
title windows 2
map (hd2) (hd0)
map (hd0) (hd2)
rootnoverify (hd2,0)
makeactive
chainloader +1


I have 3 disks

the first (500 GB) has window vista 64 on it
the second (500 GB) is dedicated to suse 11.3.
the 3rd (1000 GB) is partitioned and originally had a windows partition
and my eariler suse 11.2 set up.

is there anything else i should run before attempting the upgrade
or are there any other files I need to look at?

I remember having a similar kernel update problem with a suse 7 or 8
release and windows 2000 professional on a dual boot system
before. this was probably 7 or 8 years ago.

If you want to boot openSUSE from your second disk, then you will need to make the second disk your boot disk in your BIOS. Basically, if you boot grub from sda (located in the MBR most likely), where Windows is located, it can’t find your menu.lst file, located on disk sdb, where you installed openSUSE. During the first install and run of openSUSE, you are not really booting the setup you installed, as you really booted from the openSUSE install boot disk, which is why it works at first.

Normally, the sequence is, you install openSUSE on second disk and make sure that the grub boot loader loads into the MBR or partitions 1, 2, 3 or 4. If you do the latter, make sure you install the generic boot loader into the MBR (of sdb). Make sure that your device.map file indicates that sdb is the first disk and assigned hd0. In your grub menu.lst file, all references to openSUSE will have the root(hd0,?) and not hd1. Finally, you must set your computer BIOS to boot from sdb first and not sda.

In your present setup, if you keep the openSUSE disk in the drive, boot from it and then select boot from hard drive, you might be able to run this setup a second time, not requiring a reinstall. But I am not sure about doing that.

Thank You,

On 2011-01-02 16:36, sttp1553 wrote:

> I don’t think the set up I have is very complex.

There is the complexity that jdmcdaniel3 describes.

We could perhaps verify this if you post /boot/grub/device.map and
/etc/grub.conf - which is what is used to reinstall grub.

However, an update does not have to reinstall grub, it should only modify
menu.lst.

> I’ve now installed
> suse 11.3 for the 3rd time
> and am NOT going to run on line update until I find out what may be
> going wrong.

That will perhaps not be possible. You have to learn how to repair a system
without reinstalling, because for diagnosis we have to look at things like
logs. There is a log that shows what the update did, but you destroyed it.

So, learn how, keep the backup oldcpu said, try again, and recover.


Cheers / Saludos,

Carlos E. R.
(from 11.2 x86_64 “Emerald” at Telcontar)

I think we may be at cross purposes here.

I have installed opensuse 11.3 three times.

The first time I installed i subsequently installed

netbeans and a java sdk and run time

oracle/sun studio - a fortran based ide

all of these worked and i was able to do
both fortran and java programming.

i also added openmpi-devel and started doing mpi programming.

i booted and ran both the windows and suse installations
several times. i did not have the opensuse dvd in the dvd drive.

it was only when i ran on line update
that i lost the option at boot time from the grub
start up of booting the suse installation.

i installed a second time and verified that i could
use the system after SEVERAL reboots.

i then ran on line update (which includes a kernel update)
and again lost the option at boot time
of booting the suse installation.

the bios boot sequence is

removeable media - usb devices
cdd/dvd
local hard disks

it would appear the the opensuse kernel update
may be a problem, and that i may need to manually edit
a variety of system files to get the system to boot.

i was hoping to get some feedback on what i may need
to manually edit myself to get the option on doing on line updates
that include a kernel update.

i can always go back to the opensuse 11.2 install
option as i had one several kernel updates
with this version and had no problems.

thanks for looking at the problem.

thanks for replying.

ian chivers

here are the contents of the device.map file and grub.conf file.

hope this helps.

linux-xwf6:/boot/grub # cat device.map
(hd0) /dev/disk/by-id/ata-WDC_WD5000AAKS-75A7B2_WD-WMASY5866661
(hd1) /dev/disk/by-id/ata-Hitachi_HDS721050CLA362_JP5570HK093YYP
(hd2) /dev/disk/by-id/ata-SAMSUNG_HD103SI_S2ARJ1BZ301740
linux-xwf6:/boot/grub # cat grub.conf
cat: grub.conf: No such file or directory
linux-xwf6:/boot/grub # cd /etc
linux-xwf6:/etc # cat grub.conf
setup --stage2=/boot/grub/stage2 --force-lba (hd0) (hd1,1)
quit
linux-xwf6:/etc #

I’m a bit surprised your PC boots with both /sda1 and /sdc1 marked as active partitions. I assume there is generic boot code put on /sda1 which in turn points to /sdb1 for grub to load and boot.

I suspect that is what the grub.conf file does with this line:

linux-xwf6:/etc # cat grub.conf
setup --stage2=/boot/grub/stage2 --force-lba (hd0) **(hd1,1)**
quit

ie my guess is that the “hd1,1” indicates grub is on your second hard drive in the second partition on that drive (ie on sdb2).

For example if I look at my PC with one hard drive and it boots from /sda2 I have:


setup --stage2=/boot/grub/stage2 --force-lba (hd0,1) **(hd0,1)**
quit

and my guess is in my case this indicates that grub is on the 1st hard drive, second partition on my PC (which is INDEED the case). Of course we are counting starting from ‘0’ here (and not starting from “1”).

I believe that when you update the kernel, neither /boot/grub/device.map, nor /etc/grub.conf should IMHO change.

Now looking at your /boot/grub/menu.lst file:


# Modified by YaST2. Last modification on Fri Dec 31 15:54:28 GMT 2010
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader

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

###Don't change this comment - YaST2 identifier: Original name: linux###
title Desktop -- openSUSE 11.3 - **2.6.34-12**
    root (hd1,1)
    kernel /boot/vmlinuz-**2.6.34-12**-desktop root=/dev/disk/by-id/ata-Hitachi_HDS721050CLA362_JP5570HK093YYP-part2 resume=/dev/disk/by-id/ata-Hitachi_HDS721050CLA362_JP5570HK093YYP-part1 splash=silent quiet showopts vga=0x375
    initrd /boot/initrd-**2.6.34-12**-desktop

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.3 - **2.6.34-12**
    root (hd1,1)
    kernel /boot/vmlinuz-**2.6.34-12**-desktop root=/dev/disk/by-id/ata-Hitachi_HDS721050CLA362_JP5570HK093YYP-part2 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x375
    initrd /boot/initrd-**2.6.34-12**-desktop

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

###Don't change this comment - YaST2 identifier: Original name: windows 2###
title windows 2
    map (hd2) (hd0)
    map (hd0) (hd2)
    rootnoverify (hd2,0)
    makeactive
    chainloader +1

When you update, you should expect all to remain the same EXCEPT that instead of vmlinuz-2.6.34-12 you will have vmlinuz-2.6.34.7-0.5 and instead of initrd-2.6.34-12 you should have initrd-2.6.34.7-0.5 (assuming your kernel is being updated to the 2.6.34.7-0.5 kernel). And the menu.lst title lines will change too.

I think either than the /boot/grub/menu.lst, no other config file should change. (So check the other files (device.map/grub.conf) to confirm that they do NOT change). But I will definitely defer to the experts on this - as I am NOT an expert in this subject matter.

It IS important that the correct initrd runs, but other than read of users having problems with that, I can’t say more as I know nothing about it.

Our forum experts will need to provide advice from here.

On 2011-01-03 22:06, sttp1553 wrote:
> it was only when i ran on line update
> that i lost the option at boot time from the grub
> start up of booting the suse installation

Did you get the grub window with the list of options to choose? And after a
few seconds it tries to load linux and fails? Windows still boots?

If that is so, there is no problem with grub itself, but with the entry to
boot linux in menu.lst (after the update).


Cheers / Saludos,

Carlos E. R.
(from 11.2 x86_64 “Emerald” at Telcontar)

On 2011-01-03 23:36, oldcpu wrote:

> I’m a bit surprised your PC boots with both /sda1 and /sdc1 marked as
> active partitions. I assume there is generic boot code put on /sda1
> which in turn points to /sdb1 for grub to load and boot.

Er… no. The generic boot code only finds the first marked partition in
the same disk (or the first disk, perhaps, but that would be a bug, IMO)).
This code is about 400 bytes (512 minus partition table size), it can’t do
much.

So, if there is generic code in the MBR of sda, and sda is the first BIOS
disk, that will load the boot sector of sda1 - which being and NTFS
partition, it only can boot itself, ie, windows.

However, if that MBR contains the first stage of grub, it is not possible
to know what it boots (it is hardcoded on install), and partition marking
is irrelevant.

Except:

> I suspect that is what the grub.conf file does with this line:
>
> Code:
> --------------------
> linux-xwf6:/etc # cat grub.conf
> setup --stage2=/boot/grub/stage2 --force-lba (hd0) (hd1,1)
> quit
>
> --------------------
>
> ie my guess is that the “hd1,1” indicates grub is on your second hard
> drive in the second partition on that drive (ie on sdb2).

:slight_smile:

Mine is that grub first stage is in the MBR of first bios disk and loads
grub (second stage) in second partition of second bios disk.

In “File: grub.info, Node: setup”, it says:

– Command: setup --force-lba'] –stage2=os_stage2_file’]
`–prefix=dir’] install_device [image_device]

Set up the installation of GRUB automatically. This command uses
the more flexible command install' (*note install::) in the backend and installs GRUB into the device INSTALL_DEVICE. If IMAGE_DEVICE is specified, then find the GRUB images (*note Images::) in the device IMAGE_DEVICE, otherwise use the current "root device", which can be set by the command root’. If
INSTALL_DEVICE is a hard disk, then embed a Stage 1.5 in the disk
if possible.

install_device is hd0, and image_device is hd1,1

What I’m not sure is where is the stage 1.5 and 2. It could be in the first
track after the MBR of the first bios disk, or just after the boot sector
of hd1,1, before the partition data starts, there is some reserved space
there. Grub documentation is not very clear, and I think it depends on each
case. That code has to be loaded before grub can read the menu.lst file (or
any file).

>
> For example if I look at my PC with one hard drive and it boots from
> /sda2 I have:
>
> Code:
> --------------------
>
> setup --stage2=/boot/grub/stage2 --force-lba (hd0,1) (hd0,1)
> quit
>
> --------------------
>
> and my guess is in my case this indicates that grub is on the 1st hard
> drive, second partition on my PC (which is INDEED the case). Of course
> we are counting starting from ‘0’ here (and not starting from “1”).

Correct.

>
> I believe that when you update the kernel, neither
> /boot/grub/device.map, nor /etc/grub.conf should IMHO change.

Correct.

> Now looking at your /boot/grub/menu.lst file:

> When you update, you should expect all to remain the same EXCEPT that
> instead of vmlinuz-2.6.34-12 you will have vmlinuz-2.6.34.7-0.5 and
> instead of initrd-2.6.34-12 you should have initrd-2.6.34.7-0.5
> (assuming your kernel is being updated to the 2.6.34.7-0.5 kernel). And
> the menu.lst title lines will change too.

Yes, a new entry should appear, and an old entry removed (if multiversion
is not active). A full entry: tittle, root, kernel, initrd… perhaps the
“default” parameter changes.

> I think either than the /boot/grub/menu.lst, no other config file
> should change. But I will definitely defer to the experts on this - as I
> am NOT an expert in this subject matter.

I’m not that expert, I have big holes in my understanding, but I concur.

Which is what the first post said (yours): make a backup of menu.lst and
make sure to edit it before rebooting. I always do that.

It is also possible that initrd has wrong modules inserted, but in that
case the kernel would complain of missing modules, or not being able to
read ext3, or some such thing.


Cheers / Saludos,

Carlos E. R.
(from 11.2 x86_64 “Emerald” at Telcontar)

Well, would you believe that was what I meant to say ? :slight_smile:

Yes, … what you note there makes perfect sense to me.

when booting the system after doing the on line update
grub starts. i thought that i had made that clear.
i’m sorry it wasn’t.

the ONLY options in the grub menu after doing the
online update are the windows options.

there would seem to be a bug in the 11.3 distribution
with on line updates and dual boot systems and kernel updates.

i can live with not doing an online update until the opensuse
people fix this.

i’m self employed and earn money from working with
both windows and linux systems.

i’m currently developing a parallel programming course
(mpi, openmp and coarray fortran)
based on fortran, c and c++ programs using windows
opensuse linux.

it is useful to be able to show people timing information
comparing linux and windows running the same parallel
programs on the same hardware under 2 different operating
systems.

i can live with reverting to 11.2 if necessary.

cheers

ian chivers

I’ve just read the additional replies.

Do you want me to try the on line update and see what happens?

What files should I be looking to post to the list before I do the reboot?

cheers

ian chivers

On 2011-01-05 21:06, sttp1553 wrote:
>
> when booting the system after doing the on line update
> grub starts. i thought that i had made that clear.
> i’m sorry it wasn’t.
>
> the ONLY options in the grub menu after doing the
> online update are the windows options.

That’s important.

> there would seem to be a bug in the 11.3 distribution
> with on line updates and dual boot systems and kernel updates.

If there were a bug that big everybody would be affected, and we aren’t.

> i can live with not doing an online update until the opensuse
> people fix this.

No, no, that’s not the way. First, you are also “the openSUSE people” :slight_smile:

For one, there is nothing to solve unless a precise report is made that
allows the devs to figure out the exact cause and circumstances.

Plus, you can very well bypass the “bug” yourself, as some have explained
here:

Make a backup of menu.lst,
do the updates,
make another backup of menu.lst (different file),
then edit and correct the menu.lst file before you reboot.

If my guess is correct, the menu.lst file after the update will be bad -
but your system will boot because you will correct the fault yourself
before rebooting. :wink:

Then, report in a Bugzilla all this, and add yast logs (there is a
procedure for this, but I don’t have the link handy). With all that info
the devs will be able to locate the cause and solve it for the next update.

> it is useful to be able to show people timing information
> comparing linux and windows running the same parallel
> programs on the same hardware under 2 different operating
> systems.

That’s interesting.

> i can live with reverting to 11.2 if necessary.

No, you have to learn how to bypass all those /little/ problems. At least,
in Linux we have more control than in Windows, we can have a look inside,
do guesses, take some type of action. We don’t depend fully on a provider
to do it all for us.

There are problems beyond our possibilities, forcing us to use a different
version, even different distros. But this one is not in that class - I
think :slight_smile:


Cheers / Saludos,

Carlos E. R.
(from 11.2 x86_64 “Emerald” at Telcontar)

Information on how to report a bug is here: openSUSE:Submitting bug reports - openSUSE To log on to bugzilla use one’s openSUSE username and password.

Information on YaST bug reporting (including logs I believe is here) : openSUSE:Report a YaST bug - openSUSE

Hi, I have similar problem but I’m using ubuntu grub2 as bootloader.
Ubuntu Grub2 No Longer Detected openSUSE after online update.

I reran the on line update and the menu.lst file had lost all
references to suse.

i tried editting the new menu.lst based on the old one
with references to the new kernel, but this time got errors messages
about invalid exe file format, or something similar.

i’ve reinstalled 11.2 and applied all new patches and reinstalled

gfortran
openmpi-devel
oracle sunstudio

and gone back to my day job which is programming.

i have another system running 11.3 and this one is fine.

i don’t have the time at the moment to spend anymore
time on the issue.

thanks for the input.

ian chivers

Sorry to read that your edits did not work. At the risk of my telling you to close the barn door AFTER the horse is gone, next time PLEASE keep a record on a USB stick of:

  1. the badly created menu.lst file, and
  2. the edit of the menu.lst file that you tried that did not work.

and ONLY after making those file backups on the USB stick, reboot to see if your edits worked. Thats always what I do. I confess its an obvious cautionary measure to me, but I guess I’ve been doing this for too long and I take the need to conduct too many cautionary activities for granted.

That way we can check both files and we can understand the situation better, and possibly even provide you some information that might be educational. And maybe with that information more progress can be made toward getting a fix.

Without the content that I mentioned, we are helpless in our ability to provide any help, and we DO want to see what is happening here.

Its mostly through such efforts that the open source community with Linux moves forward. … anyway, … its all water under the bridge now.

Best of luck in your future endeavors.