Boot stuck at blinking cursor before GRUB - only works via BIOS boot menu
You have a GPT partition table, which means that the Linux might be installed as EFI.
Theory: When you're trying to boot without invoking the menu, GRUB stage 0 can't find the next stage in the GPT sub partition. When booting with the boot menu, the BIOS invokes EFI and the boot is successful. Try looking for for an option to boot into EFI mode in the BIOS and see if that makes a difference.
Related videos on Youtube
delta1
Updated on September 18, 2022Comments
-
delta1 over 1 year
I have a new box running Debian Squeeze. Grub is installed on /dev/sda, but when booting up I just get a blinking cursor, before the Grub menu. I can only boot to grub successfully when I choose boot options (during post) and select that specific drive! I have made sure the correct drive is set to boot first in the BIOS.
So Grub works, but the system won't boot to that drive automatically? Any ideas on what could cause this?
Drives sda/b/c are all 2TB (sda runs the system with b/c as raid device md0) with the following partitions:
$ cat /proc/partitions major minor #blocks name 8 0 1953514584 sda 8 1 977 sda1 8 2 9765625 sda2 8 3 6445313 sda3 8 4 1937302627 sda4 8 32 1953514584 sdc 8 16 1953514584 sdb 9 0 1953513424 md0
but
# fdisk -l /dev/sda
gives
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted. Disk /dev/sda: 2000.4 GB, 2000398934016 bytes 255 heads, 63 sectors/track, 243201 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sda1 1 243202 1953514583+ ee GPT
Any insight into this strange behaviour would be greatly appreciated.
-
JdeBP almost 13 yearsYou should have used the
p
command ingdisk
instead offdisk
, there. Not that the contents of your partition table are likely to be relevant to your problem, which hinges more on things like which disc your firmware is saying is unit 0x80 at any given moment. -
delta1 almost 13 yearsThanks @JdeBP. Could you elaborate further on the
unit 0x80
bit? -
JdeBP almost 13 yearsFirmwares number hard disc units 0x80, 0x81, 0x82, and so forth. Which numbers are assigned to which disc units can vary, though. In particular, it can vary whenever the firmware's boot option menu is used. Some firmwares will make the selected disc unit always unit 0x80; others don't change the unit number, but tell the boot loader that unit 0x81/0x82/whatever is the boot disc. These behaviours interact badly with boot loaders that don't adhere to the BIOS Boot Specification. For the behaviour that you describe, you really need to concentrate on the firmware numbering, not Linux's.
-
delta1 almost 13 yearsThanks! I guess I'll be looking at updating the BIOS then, and trying to figure out that numbering.
-
-
delta1 almost 13 yearsThanks for the suggestion. I've already made a workaround by installing grub on another hdd, and pointing the BIOS to that drive initially. This gets around the problem, but interestingly I think the only difference between the two drives is the partition table. I'll investigate again later when I have some time, and let you know what the differences are if you'd like. Thanks again for the answer :)