启动卡在 GRUB 之前的闪烁光标处 - 仅可通过 BIOS 启动菜单工作

启动卡在 GRUB 之前的闪烁光标处 - 仅可通过 BIOS 启动菜单工作

我有一台运行 Debian Squeeze 的新机器。Grub 安装在 /dev/sda 上,但启动时我只看到一个闪烁的光标,在 Grub 菜单之前。只有当我选择启动选项(在开机自检期间)并选择该特定驱动器时,我才能成功启动到 grub!我已确保在 BIOS 中将正确的驱动器设置为首先启动。

Grub 可以工作,但系统无法自动引导至该驱动器?您知道是什么原因导致的吗?

驱动器 sda/b/c 均为 2TB(sda 与 b/c 作为 raid 设备 md0 一起运行系统)具有以下分区:

$ 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

# fdisk -l /dev/sda

给出

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

任何对这种奇怪行为的见解都将不胜感激。

答案1

您有一个 GPT 分区表,这意味着 Linux 可能被安装为 EFI。

理论:当您尝试在不调用菜单的情况下启动时,GRUB 阶段 0 无法在 GPT 子分区中找到下一阶段。使用启动菜单启动时,BIOS 会调用 EFI,并且启动成功。尝试在 BIOS 中寻找启动到 EFI 模式的选项,看看是否有区别。

答案2

BIOS 可能没有问题,尽管也可能有问题。我会查看 /boot/grub/device.map 文件,该文件保存了 BIOS 到 Linux 标识符的映射。可能是该文件设置不正确导致出现问题。不过,可能很难确定哪个驱动器是哪个,因为您的 RAID 阵列中可能有三个相同的驱动器。

相关内容