Slow GRUB?

It takes about 25 seconds for my Grub to load, about 10-15 seconds of a black screen with flashing cursor before the first (Grub version 1.5 etc) message, then another ten seconds or so with the message “grub loading please wait” (from memory) before the menu appears. Is that normal for a system with three HDs and three different OS (SUSE 11.2 and 11,1, Ubuntu 10.04)? Maybe it is, but it would be nice to shave off a few seconds as Grub now takes longer than booting the OS…
Also, when I set the resolution in YaST2 of the Bootloader to my maximum of 1920x1200 (24bit), I get scrolling text over the bootsplash which I didn’t get when the resolution was set to the previous value of 1600x1200 (8bit). Anyone know why? (Haven’t changed any other bootloader options).

@GRUB-delay: that sounds pretty much like insufficient / faulty power supply or even a HD-failure. Do you experience any other problems like hangs, I/O-errors or the like? I’d check the HDs first, then the power supply.

Thanks but I’m pretty sure you’re barking up the wrong tree there :slight_smile: No other issues at all, excellent power supply and no dodgy drives. (Famous last words!)

Woof. :slight_smile:

I am also running three different systems on three harddrives and GRUB is appearing instantly. So no, that behaviour is not normal.

It might help if you post your /boot/grub/menu.lst and describe your setup a little.

linux-ncg5:/home/hgm # cat /boot/grub/menu.lst
# Modified by YaST2. Last modification on Mon Apr 19 20:17:29 EST 2010
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader

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

###Don't change this comment - YaST2 identifier: Original name: linux###
title Desktop -- openSUSE 11.2 - 2.6.31.12-0.2
    rootnoverify (hd2,0)
    kernel /boot/vmlinuz-2.6.31.12-0.2-desktop root=/dev/disk/by-id/ata-ST31000528AS_9VP23T38-part1 resume=/dev/disk/by-id/ata-SAMSUNG_HD501LJ_S0MUJ1PP443333-part3 splash=silent quiet showopts vga=0x37d
    initrd /boot/initrd-2.6.31.12-0.2-desktop

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.2 - 2.6.31.12-0.2
    root (hd2,0)
    kernel /boot/vmlinuz-2.6.31.12-0.2-desktop root=/dev/disk/by-id/ata-ST31000528AS_9VP23T38-part1 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe vga=0x346
    initrd /boot/initrd-2.6.31.12-0.2-desktop

###Don't change this comment - YaST2 identifier: Original name:  openSUSE 11.1 - 2.6.27.37-0.1 (pae) (/dev/sdb1)###
title openSUSE 11.1 - 2.6.27.37-0.1 (pae) (/dev/sdb1)
    rootnoverify (hd1,0)
    chainloader +1

title Ubuntu 10.04 booting via symlinks
    rootnoverify (hd0,0)
    kernel /vmlinuz root=/dev/disk/by-id/ata-WDC_WD2500KS-00MJB0_WD-WCANKH476719-part1 ro quiet splash
    initrd /initrd.img

Grub is in the MBR of sda, and the default boot to 11.2 on sdc. There’s also 11.1 (I like to keep the previous version around for a while until the present one has stabilised, and it will soon be replaced by 11.3) on sdb, and Ubuntu on sda (installed on what was until recently Windows Vista).
Come to think of it, this last issue (Ubuntu replacing Vista) might be relevant: when I go into Yast2>System>Bootloader, it still shows the Ubuntu entry as under “windows/C”, and Dolphin still show a “windows” entry…
Not sure what else might be relevant.

Any ideas anyone? I have seen on my laptop, where I’ve just nuked the dual-booting Windows 7, how fast Grub should be. This is definitely not normal…

That’s where the problem is indeed. Ubuntu uses GRUB2 where openSUSE uses GRUB. I don’t have a solution ready, but I would search the forums for ‘ubuntu grub’. IIRC there are posts providing solutions for this GRUBmix.

Excuse my ignorance here but I don’t understand how Grub2 comes into it. I know Ubuntu uses it (I started off by booting openSUSE from it) but with the current setup I would assume that Grub2 is entirely bypassed? I’ve always assumed that for multiple distro boots, strictly speaking, only one instance of Grub was actually required, i.e. that the others could be installed without a bootloader altogether.

AFAIK, not if you did not install grub in the MBR in openSUSE, and did so in Ubuntu. openSUSE is on the third disk, is this the first disk in the BIOS?

Have you tried reinstalling GRUB?

Grub was initially installed on the boot sector of the partition that openSUSE lives on, being called by the Vista bootloader while Vista was still on sda. Then I installed Ubuntu over Vista and got Grub2 which I didn’t like. So I booted into the openSUSE DVD in repair mode and reinstalled Grub from the command line, finding the existing menu on hd 2,0 (in grub parlance) and using “setup (hd 0,0)” - this is from memory. I assume that puts Grub on the MBR of the first hard disk.
I didn’t change the boot order in BIOS although I thought of that as a possibility. But Grub’s definitely on the first disk.

Don’t assume. the grub mbr may get installed in a partition. You may need to manually specify where you want it.

Looking at the Grub docs, it seems that "setup (hd0,0) puts it in the boot sector of the first partition of the first disk, whereas “setup (hd0)” is required to write it into the MBR of the first disk. As I’ve used the former, I might now try the latter - but I’ll wait first to see if someone more knowledgeable than myself can confirm this…

Scratch that, just checked my notes and I did indeed use the correct “setup (hd0)” which, according to the docs, would have installed Grub in the MBR…

Hmm you still have this long wait to boot? Do you see lots of disk activity? You might check the drive do a low level scan (software from drive maker). A bad (weak) sector my cause this. The software will attempt to read a sector until the checksums agree or the end of the universe, which ever comes first.

I’ll do that if I can’t find another explanation. For now, I have another hunch: the fstab shows the first hard disk (sda) still as a Windows drive:

/dev/disk/by-id/ata-SAMSUNG_HD501LJ_S0MUJ1PP443333-part3 swap                 swap       defaults              0 0
/dev/disk/by-id/ata-ST31000528AS_9VP23T38-part1 /                    ext4       acl,user_xattr        1 1
/dev/disk/by-id/ata-ST31000528AS_9VP23T38-part3 /data                ext4       acl,user_xattr        1 2
/dev/disk/by-id/ata-ST31000528AS_9VP23T38-part2 /home                ext4       acl,user_xattr        1 2
/dev/disk/by-id/ata-WDC_WD2500KS-00MJB0_WD-WCANKH476719-part1 /windows/C           ntfs-3g    user,users,gid=users,fmask=113,dmask=002,locale=en_US.UTF-8 0 0
//192.168.2.10/Volume_1 /mnt cifs password=,_netdev,uid=hgm,gid=users  0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

That’s because it was until recently, before I installed Ubuntu over Vista. Does Grub read fstab and get confused by the description of the filesystem as ntfs? Can I/should I just edit it? Or should I simply delete the line as sda does not need to be mounted when running openSUSE?

If it does not need to mount get rid of it.

Got rid of the redundant fstab line.
But this is getting spookier all the time. I’ve done the following:
Reinstalled Grub in MBR of hd0. No change.
Changed boot order of hard drives in BIOS to make sdc (hd2) the first boot disk. Reinstalled Grub into the MBR of that. No change.
Let the openSUSE DVD repair option do its own thing by asking it to propose a new configuration. It suggested booting from the root partition rather than MBR so I let it install the bootloader there. It came up with a message about a floppy disk but then reported that bootloader had been installed successfully. Booted alright, but with the same delays in the various Grub stages as all the other things I’ve tried.
Given that I’ve tried different hard drives, I would have thought that rules out any hardware issues as suggested above. I should also add that in the last few attempts, I haven’t bothered listing the alternative OSes (11.1 and Ubuntu), only the default 11.2.
Any more suggestions? It seems that whatever I do, I get these delays between the various stages of Grub…

OK the only other thing I can think of is that you have turned on the deep memory check in the BIOS. With multi-Gig Memory that can take significant time.

I’ve committed the ultimate sin (for a forum like this) of solving the problem but being unable to remember how! I’ve googled a lot and tried this and that (with a few glasses of Australian red…) and now I find myself with a fast Grub: between the BIOS and Grub there’s still about ten seconds of flashing cursor, but then there’s only a split second from “1.5” to the menu. Progress indeed! The delay between BIOS and Grub may be a BIOS setting, something to investigate.
If only I could remember what the decisive change in the setup was! It was something inspired by something I read in the Arch forum (as is often the case, thry’re a good crowd), and something I changed in YaST2…