[11.0] installer fails to set up Grub

After I upgraded 10.3 to 11.0 I have been unable to get grub to boot the system for me.
The installer complains about some error message when it tries to set up grub (ok, so I should write it down - lazy me) resulting in a system that dumps me into grub failure messages when I boot.

Now, I have searched a bit around on the net and found myself a workaround which basically amounts to doing “root (hd0,1)” “kernel /boot/vmlinuz” “initrd /boot/initrd” “boot” from the grub command line whenever I power up. I’m actually not certain what the “root (hd0,1)” part actually does, but that seems to be the stumbling block.

I’d like to ask for a bit of help on how I can get grub to do what I do manually, and if there is some way to get OpenSUSE to handle this correctly?
There might be something buried in here about how the boot process changed between 10.2 and 10.3 (I think it was those two)?

Thanks.

If you are booting with that manual scenario, simpy open Yast and select <System> < Bootloader> and see what it lists. You can select an option from the <other> tab at the bottom right corner.

You can read about GRUB here - although there are other sites also.http://http://users.bigpond.net.au/hermanzone/p15.htm Don’t fret about the Ubuntu references. GRUB is GRUB.

I think you had an earlier post and perhaps are dual booting or have upgraded to 11? If you are getting the GUI and level 5, just use Yast. If you don’t know your partitions, you can also use the partitioner to see what your partitions are.

If you spend some time in the GRUB Page, you’ll see that you can do much of this from the GRUB console, including re-installing GRUB.

Good luck.

I had a 6-7 duplicate entries that I took out. I changed all (0,0) references to (0,1) but for some reason they are now gone - the '()'s and all inside them I mean.

And it still fails. It tries to find a file at (0,0) somewhere says the error, then I get a text boot selector that contains totally different boot options (namely my Dragonfly and others I’ve had around for a while).

I think the trouble is that there are two different booting mechanisms in place here. One that came from 10.1 and the other from 11.0 (or perhaps 10.3 really?).
I had a faint hope I wouldn’t need to get a dark coloured belt in booting to get this going.

I have 3 disks with different OSes on. This 11.0 started out as 10.1 and has gone through 10.2 and 10.3.
My system disk partition is a software mirror raid ReiserFS (that misses one disk after the repair utilities thought it wise to repair them separately - but that is another topic altogether).

I have a box with 3 HDs and the first is XP, 2nd and 3rd usually have 2 - 4 Linux distros each. But, SUSE. Debian, Ubuntu, Xubuntu, Mint, Berry and Fedora all seem to find the partitions when the installer runs.

Now you’ve mentioned RAID and and software mirror, etc, the situation is somewhat more complex.

Now that Hans is in prison, I think most distros plan to drop ReiserFS so you might want to plan accordingly. From the sounds of things, might as well do the change now. (joke)

I think you have some work ahead of you. However, the bootloader gui in Yast can work it all out if you have it take another look, suggest, whatever. You should know where each OS has its image? I always write them down (and lose the note).

Good luck.

To be able to help, we need a lot more information. What are the disk layouts? What is installed where? Which instance do you want to boot from? Which partitions are in the RAID array, and what is installed on the array? So . . .

fdisk -l

And, from the 11.0 instance:

cat /boot/grub/menu.lst
cat /boot/grub/device.map
cat /etc/grub.conf

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

Device Boot Start End Blocks Id System
/dev/sda1 21 151 1052257+ fd Linux raid autodetect
/dev/sda2 * 152 2110 15735667+ fd Linux raid autodetect
/dev/sda3 9276 30401 169694595 f W95 Ext’d (LBA)
/dev/sda4 2748 9275 52436160 fd Linux raid autodetect
/dev/sda5 9276 9537 2104483+ 82 Linux swap / Solaris
/dev/sda6 9538 12148 20972826 83 Linux
/dev/sda7 12149 30401 146617191 83 Linux

Partition table entries are not in disk order

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

Device Boot Start End Blocks Id System
/dev/sdb1 21 151 1052257+ fd Linux raid autodetect
/dev/sdb2 * 152 2110 15735667+ fd Linux raid autodetect
/dev/sdb4 2748 9275 52436160 fd Linux raid autodetect

Disk /dev/sdc: 300.0 GB, 300069052416 bytes
255 heads, 63 sectors/track, 36481 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xf100f100

Device Boot Start End Blocks Id System
/dev/sdc1 * 1 6374 51199123+ 7 HPFS/NTFS

Disk /dev/md1: 16.1 GB, 16113205248 bytes
2 heads, 4 sectors/track, 3933888 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Device Boot      Start         End      Blocks   Id  System

Disk /dev/sdd: 1031 MB, 1031798272 bytes
255 heads, 63 sectors/track, 125 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x91f72d24

Device Boot Start End Blocks Id System
/dev/sdd1 1 125 1004031 b W95 FAT32

Disk /dev/md0: 1077 MB, 1077411840 bytes
2 heads, 4 sectors/track, 263040 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md0 doesn’t contain a valid partition table

Disk /dev/md2: 53.6 GB, 53694562304 bytes
2 heads, 4 sectors/track, 13109024 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md2 doesn’t contain a valid partition table


cat /boot/grub/menu.lst

Modified by YaST2. Last modification on Fri Sep 5 03:11:21 CEST 2008

default 0
timeout 8
gfxmenu (hd0,0)/boot/message

###Don’t change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.0
root (hd0,0)
kernel /boot/vmlinuz-2.6.25.5-1.1-pae root=/dev/md1 resume=/dev/md0 splash=silent showopts vga=0x346
initrd /boot/initrd-2.6.25.5-1.1-pae

###Don’t change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe – openSUSE 11.0
root (hd0,0)
kernel /boot/vmlinuz-2.6.25.5-1.1-pae root=/dev/md1 showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off x11failsafe vga=0x346
initrd /boot/initrd-2.6.25.5-1.1-pae

###Don’t change this comment - YaST2 identifier: Original name: SUSE LINUX (/dev/sda6)###
title SUSE LINUX (/dev/sda6)
rootnoverify (hd0,0)
chainloader (hd0,5)+1

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

###Don’t change this comment - YaST2 identifier: Original name: xen###
title XEN
root (hd0,0)
kernel /boot/xen.gz
module /boot/vmlinuz-xen root=/dev/md1 resume=/dev/md0 splash=silent showopts vga=0x346
module /boot/initrd-xen


cat /boot/grub/device.map
(fd0) /dev/fd0
(hd0) /dev/sda
(hd1) /dev/sdb


cat /etc/grub.conf
setup --stage2=/boot/grub/stage2 (hd0) (hd0,0)
quit


df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/md1 15735064 14755540 979524 94% /
udev 2075336 192 2075144 1% /dev
/dev/md2 52434488 49222996 3211492 94% /fun
/dev/sdd1 1002052 3820 998232 1% /media/ELEKTOR


I want to boot my 11.0 that is installed on /dev/md1. /dev/md0 is my swap.
(And my raid mirrors are broken ATM…)

The md0 array is comprised of sda1/sdb1, md1 is sda2/sdb2, and md2 is sda4/sdb4, right? And md1 is RAID 1?

At least one reason grub is failing is that it is looking for the kernel on sda1 - note the “root (hd0,0)” in menu.lst. When you give it (hd0,1), you are pointing grub to sda2. Grub needs to boot from one of the two identical partitions in the array.

If you must also change the kernel and initrd lines for the boot to work, then the kernel & initrd file names in menu.lst may be incorrect. When you give grub “/boot/vmlinuz” and “/boot/initrd”, the vmlinuz and initrd are symlinks in /boot which always point to the actual current file name.

So, you can get into a text editor as root and change menu.lst, the “root (hd0,0)” to “root (hd0,1)”. And you can either change the vmlinuz and initrd lines to show the actual file names (if the names now there are wrong), or you can just change the lines to use the symlinks.

By the way, why do you have swap in an array? AFAIK there is no value in that. There is additional overhead and, performance wise, it would be better to break that array and use the partitions separately for swap.

I edited menu.lst but it keeps (non)booting in the same manner. Could it be booting from the broken part of the mirror?
BTW, the error message the installer gave me is the same as this one Problem when installing GRUB with openSUSE 11.1 Alpha 2 - openSUSE Forums

I have a mirrored swap because AFAIK if you lose swap then you’re FUBAR if you have something in swap when it goes. And you can bet you will. Though I expect it gets little use.