SDB:GRUB Hangs with the Message 'GRUB' when Booting from a SCSI Hard Disk

Şuraya atla: kullan, ara


Version: 8.1

Symptom

The boot process hangs with the message 'GRUB' when booting from a hard disk attached to a SCSI controller.

Cause

There are two possible causes:

  1. The INT13 extension (LBA addressing) for hard disks has not been activated in the SCSI controller's BIOS.
  2. LBA does not work due to a faulty BIOS in the SCSI controller. The BIOS "informs" the boot loader GRUB that it is using LBA addressing, but uses CHS addressing instead. As a result, GRUB cannot find one of the files required for booting (stage2, which contains GRUB's program code. See SDB:The Boot Manager Grub

Solution

The solution is quite simple in the case of cause number one: activate the INT13 extension (LBA addressing) in the SCSI controller's BIOS.

For cause number two, several solutions are possible:

  • If the controller is equipped with a Flash BIOS, a BIOS update should solve the problem.

If not, disable the INT13 extension in the SCSI BIOS. In this case, note that the partition containing the boot loader files as well as the kernel and INITRD (usually the boot partition) must be located within the first 1024 cylinders (in the first 8 GB). Otherwise, you would encounter the 1024 cylinder problem (see SDB:The Boot Process Hangs with the Message GRUB Geom Error)

  • From SuSE Linux 8.2 on, you also have the possibility to use the GRUB parameter --force-lba=off, which disables the LBA support. Boot the installed system using the first CD/DVD and insert this parameter in the file /etc/grub.conf. To do this, open this file in a root shell with an editor of your choice (e.g., pico):
pico -w /etc/grub.conf
Insert the parameter in the second line, making sure there are no line breaks. The file might look like this:
root (hd0,4)
install --force-lba=off --stage2=/boot/grub/stage2 /grub/stage1 d (hd0) /grub/stage2 0x8000 (hd0,4)/grub/menu.lst
quit
Save the file (STRG-O), close the editor (STRG-X), and reinstall the boot loader by entering the following command in the root shell:
grub --batch --device-map=/boot/grub/device.map </etc/grub.conf

For more information about this problem, refer to the documentation for GRUB, which is available online at http://www.gnu.org/manual/grub/html_mono/grub.html#FAQ or can be viewed with the shell command info grub.

SDB:The Boot Manager Grub


<keyword>grub,scsi,adaptec,boot,bootmanager,bootloader</keyword>