Graphical boot disappeared

After messing up with gnome3-branding(gfxboot),I removed it and now grub is back to minimal.There is no graphical bootloader anymore.
I tried reinstalling opensuse-branding but it says “message not found”.Can anyone help?

Why not let us see your Grub menu.lst file and the contents of the /boot folder with these terminal commands:

sudo cat /boot/grub/menu.lst

and

dir /boot

Post the results of these two commands and perhaps we can see just what might be wrong. There is also a great tool called findgrub by please_try_again that can produce some helpful output you can post. You can find the file here:

http://unixversal.com/linux/openSUSE/findgrub30.tgz

I normally place it in the ~/bin folder, open up a terminal session and the run findgrub.

Thank You,

menu.lst file:

user@dhcppc0:~/public_html> sudo cat /boot/grub/menu.lst
root's password:
# Modified by YaST2. Last modification on Sun Apr 17 20:01:12 NPT 2011
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader

default 0
timeout 20
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.4 - 2.6.37.1-1.2 (default)
    root (hd0,7)
    kernel /boot/vmlinuz-2.6.37.1-1.2-default root=/dev/disk/by-id/ata-WDC_WD5000AADS-00S9B0_WD-WCAV9C076470-part8 resume=/dev/disk/by-id/ata-WDC_WD5000AADS-00S9B0_WD-WCAV9C076470-part9 splash=silent quiet showopts vga=0x317
    initrd /boot/initrd-2.6.37.1-1.2-default

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.4 - 2.6.37.1-1.2 (default)
    root (hd0,7)
    kernel /boot/vmlinuz-2.6.37.1-1.2-default root=/dev/disk/by-id/ata-WDC_WD5000AADS-00S9B0_WD-WCAV9C076470-part8 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x317
    initrd /boot/initrd-2.6.37.1-1.2-default

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

###Don't change this comment - YaST2 identifier: Original name: hard_disk###
title Hard Disk
    rootnoverify (hd0,76469)
    chainloader +1

/boot contents:


user@dhcppc0:~/public_html> ls /boot
backup_mbr                   initrd-2.6.37.1-1.2-default      vmlinux-2.6.37.1-1.2-default.gz
boot                         initrd-2.6.37.1-1.2-desktop      vmlinux-2.6.37.1-1.2-desktop.gz
boot.readme                  message                          vmlinuz
config-2.6.37.1-1.2-default  symvers-2.6.37.1-1.2-default.gz  vmlinuz-2.6.37.1-1.2-default
config-2.6.37.1-1.2-desktop  symvers-2.6.37.1-1.2-desktop.gz  vmlinuz-2.6.37.1-1.2-desktop
grub                         System.map-2.6.37.1-1.2-default
initrd                       System.map-2.6.37.1-1.2-desktop

findgrub`s output:

user@dhcppc0:~/Downloads/findgrub30> ./findgrub
Root User Permissions are required, Please Enter the ...

root's password:

Find Grub Version 3.0 - Written for openSUSE Forums


 - reading MBR on disk /dev/sda                    ...hexdump: /dev/sdb: No such file or directory
hexdump: stdin: Bad file descriptor.
 --> Grub  found in sda MBR     => sda1   0x7 (openSUSE)
 - searching partition /dev/sda1   (NTFS)          ...
 - searching partition /dev/sda2   (NTFS)          ... --> Windows7/Vista Loader found in /dev/sda2

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can add the following entry to /boot/grub/menu.lst :

###Don't change this comment - YaST2 identifier: Original name: WindowsBootLoader###
title Windows on /dev/sda2
    rootnoverify (hd0,1)
    makeactive
    chainloader +1

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 - reading bootsector  /dev/sda3   (Extended)      ... --> Grub  found in /dev/sda3   => sda8   0x83 (openSUSE)
 - searching partition /dev/sda5   (NTFS)          ...
 - searching partition /dev/sda6   (NTFS)          ...
 - searching partition /dev/sda7   (NTFS)          ...
 - reading bootsector  /dev/sda8   (LINUX)         ...
 - skipping partition  /dev/sda9   (swap)         
 - reading bootsector  /dev/sda10  (LINUX)         ...

So I looked at your menu.lst file and it is missing the line “gfxmenu (hd0,7)/boot/message”

# Modified by YaST2. Last modification on Sun Apr 17 20:01:12 NPT 2011
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader

default 0
timeout 20
**gfxmenu (hd0,7)/boot/message**
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.4 - 2.6.37.1-1.2 (default)
    root (hd0,7)
    kernel /boot/vmlinuz-2.6.37.1-1.2-default root=/dev/disk/by-id/ata-WDC_WD5000AADS-00S9B0_WD-WCAV9C076470-part8 resume=/dev/disk/by-id/ata-WDC_WD5000AADS-00S9B0_WD-WCAV9C076470-part9 splash=silent quiet showopts vga=0x317
    initrd /boot/initrd-2.6.37.1-1.2-default

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.4 - 2.6.37.1-1.2 (default)
    root (hd0,7)
    kernel /boot/vmlinuz-2.6.37.1-1.2-default root=/dev/disk/by-id/ata-WDC_WD5000AADS-00S9B0_WD-WCAV9C076470-part8 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x317
    initrd /boot/initrd-2.6.37.1-1.2-default

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

###Don't change this comment - YaST2 identifier: Original name: hard_disk###
title Hard Disk
    rootnoverify (hd0,76469)
    chainloader +1

I have placed the missing line in bold, but it will not be in bold in your file. This was missing and based on the list in the /boot folder, the message file is present. To edit this file in KDE use the command:

kdesu kwrite /boot/grub/menu.lst

Please let me know if this make sense to you or if you need more explanation. Make the edit and reboot. If you get a grub error 17, then it could not find the message file for some reason.

Thank You,

P.S. the dir /boot would have listed the file sizes which you did not get with ls /boot.

Thanks that worked.Hope Install/Remove Software could fix that after removing gnome-branding message.
I am acquainted with ls and didnt notice your dir command.

And now I have to wonder where this comes from (and fix it). Did you have another hard disk before? Any USB external plugged in? May I see you device.map?

cat /boot/grub/device.map

That can of course not be true. :frowning:

That can of course not be true.
It’s a bug in the script. :frowning:

Thanks that worked.Hope Install/Remove Software could fix that after removing gnome-branding message.
I am acquainted with ls and didnt notice your dir command.
Happy to hear that this fixed your problem. The only thing about looking at the files in /boot was file sizes might have showed message had some sort of issue and that is why it got removed from your menu.lst file, but now I really don’t know why. But all is well that ends well as they say. Also, it looks like you discovered an issue with please_try_again’s findgrub utility, so if you can help him, it would be appreciated.

Thank You,

That can of course not be true.
It’s a bug in the script. :frowning:
The more you add, the more you must debug as the possible results and systems looked at can multiply beyond imagination. You are the right person for the job please_try_again.

Thank You,

That’s for sure.

Well, findgrub found stage2 in sda8 - which I consider a good news since there is a long way from sda3 bootsector to sda8 and it got it right, as shown in menu.lst:

However it believed that Grub is installed in MBR and further looked for stage2 in another hard disk. It means that it found the string “GRUB” in MBR - which might not be the best check after all - and deduced from reading the bootsector that stage2 was on another disk - more precisely not on the same one. In that case I would be interested in the result of the following command:

hexdump -v -s 64 -n 1 -e '"%d"' /dev/sda

which had to be different from 255 or 128.

All right, it starts to sound much more complicated than you expected. But not as complicated as the last boot entry in your menu.lst:

What could possibly have brought YaST to add such an entry?

OK. I found the bug and fixed it. I will update the script.
But your last Grub menu entry is still extremely weird looking.

here is device.map contents:


(hd0)   /dev/disk/by-id/ata-WDC_WD5000AADS-00S9B0_WD-WCAV9C076470

and hexdump

255

Could I get the explanation about the bug in the script?

Could you please show me if the bug is fixed by running this updated version of findgrub:
http://unixversal.com/linux/openSUSE/findgrub301.tgz
Thank you.

user@dhcppc0:~/Downloads/findgrub301> sudo ./findgrub 
root's password:

Find Grub Version 3.0.1 - Written for openSUSE Forums


 - reading MBR on disk /dev/sda                    ... --> Grub  found in sda MBR     => sda8   0x83 (openSUSE)
 - searching partition /dev/sda1   (NTFS)          ...
 - searching partition /dev/sda2   (NTFS)          ... --> Windows7/Vista Loader found in /dev/sda2

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can add the following entry to /boot/grub/menu.lst :

###Don't change this comment - YaST2 identifier: Original name: WindowsBootLoader###
title Windows on /dev/sda2
    rootnoverify (hd0,1)
    makeactive
    chainloader +1

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 - reading bootsector  /dev/sda3   (Extended)      ... --> Grub  found in /dev/sda3   => sda8   0x83 (openSUSE)
 - searching partition /dev/sda5   (NTFS)          ...
 - searching partition /dev/sda6   (NTFS)          ...
 - searching partition /dev/sda7   (NTFS)          ...
 - reading bootsector  /dev/sda8   (LINUX)         ...
 - skipping partition  /dev/sda9   (swap)         
 - reading bootsector  /dev/sda10  (LINUX)         ...

Press <enter> to Exit findgrub...

I had /dev/sdb hardcoded somewhere (don’t know why), but 100% my fault. version 3.0 is still pretty new though (but I have no excuse. :X )

Here’s a diff:

# diff /usr/bin/findgrub.orig /usr/bin/findgrub 
5c5
< #: Last Edit   : Fri Apr 15 07:51:14 PDT 2011 
---
> #: Last Edit   : Mon Apr 18 01:12:31 PDT 2011
7c7
< #: Version     : 3.0
---
> #: Version     : 3.0.1
19c19
< version="3.0"
---
> version="3.0.1"
207c207
<                       ST2DEV=$DEV$(($(hexdump -s 1049 -n 1 -v -e '"%d"' /dev/sdb)+1))
---
>                       ST2DEV=$DEV$(($(hexdump -s 1049 -n 1 -v -e '"%d"' $dev)+1))

A simple word can vague this world.

Yes! That’s what I like to see. So, you have Grub in MBR and in the extended partition, both looking for stage2 in sda8 ( = (hd0,7) in Grub notation in your menu.lst)

But do you have an explanation for that last entry:


###Don't change this comment - YaST2 identifier: Original name: hard_disk###
title Hard Disk
rootnoverify (hd0,76469)
chainloader +1

?