Grub Hangs at stage 2

I have a Dell server (2950) running SATA drives (non RAID) as well as SCSI RAID storage. OpenSuse 10.3 64bit worked great but since 11.0 64 bit came out a week after I installed 10.3, I figured why not use 11.0. So I installed it (not upgraded), formatted all disks and created brand new partitions. This install goes great and when done puts me into the OS. I add a user or 2, shut off some unneeded services and then rebooted. The system then hangs on boot up at Grub Loading Stage 2…

Strange thing is if I boot to the DVD and then choose to boot to the hard drive it works fine. But not just if I let it try to boot directly to the hard drive.

Nothing I have done has helped (tried tweaking grub). I put 10.3(64bit) back on and it works perfect, I even tried CentOS 5.2(64bit) and it works great.

Below is the grub.conf and device.map that OpenSuse creates.

Any ideas why this is happening and maybe a fix would be appreciated. (so far Novell Support is miffed)

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

device.map
(hd3) /dev/sdd
(hd1) /dev/sda
(hd0) /dev/sdc
(hd2) /dev/sdb

This is just a suggestion, I’m no expert: did you try copying the files from /usr/lib/grub/i386-pc over to /boot/grub? It’s the first thing I would do. Other than that … maybe your disk is formatted with a filesystem that is simply not supported in Grub :wink:

Regards

First, boot from the DVD, run the YaST Partitioner, and look at the disk device-id assignment. Have any of the id’s (/dev/sda, etc.) changed from 10.3?

There has been a problem with bios’s consistently reporting drive sequence. I’ve seen some report IDE-then-SATA, others the reverse, and others report the boot-sequence rather than the drive sequence. This may also have been influenced by where the controllers are on the board. I haven’t had time to verify this yet, but I strongly suspect that a change has been made in this new kernel which follows the SATA controller chain and places these drives in that sequence. On my system, sdc became sda.

In view of this, I would expect your sda to now be grub’s hd0, and so on, so device.map may be wrong. Also, I notice that the grub setup statement is pointing to the boot sector of the first partition of sdc (or what was sdc); is that what you want, i.e., not in the MBR, and, is this the boot disk? Finally, recall that when you install grub in the MBR or a boot sector, you install the strap code plus a pointer to locate the stage2 loader, which is on the boot partition. If the sequencing changes, whether physically or in how the drives are being seen (per above), the pointer will be wrong; you also will not get the grub menu, because it is displayed by stage2.

Take a look at my two longer posts, in particular #2, at:

Problem 1. What is occurring with my discs? - openSUSE Forums

If you have trouble determining the drive sequencing that grub sees, get into a grub shell and use it to locate what’s where. And, the grub boot floppy I describe making is very useful at getting into a shell independent of device.map and menu.lst, and then finding/testing interactively to see what works.

This is also a nice general reference on grub:

SDB:The Boot Manager Grub - openSUSE