GRUB Hangs with the Message 'GRUB' when Booting from a SCSI Hard Disk
Support knowledgebase (fhassel_grub_scsi)
Applies to
SuSE Linux: Versions since 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:
- The INT13 extension (LBA addressing) for hard disks has not been activated in the SCSI controller's BIOS.
- 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 "The Boot Manager Grub" (http://sdb.suse.de/en/sdb/html/fhassel_grub_overview.html) for more
information).
This symptom can be observed in connection with some Adaptec SCSI controllers.
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 "The Boot Process Hangs with the Message 'GRUB Geom Error'" (http://sdb.suse.de/en/sdb/html/fhassel_geom-error.html)).
- 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.
See also:
The Boot Manager Grub
Keywords: GRUB, SCSI, ADAPTEC, BOOT, BOOT MANAGER, BOOT LOADER
Categories:
GRUB
SDB-fhassel_grub_scsi, Copyright SuSE Linux AG, Nürnberg, Germany
- Version: 03. Apr 2003
SuSE Linux AG - Last generated: 23. Jun 2003 by afaber (sdb_gen 1.40.0)