grub 错误:您需要先加载内核

grub 错误:您需要先加载内核

我正在 HP ProLiant DL180 上安装 Debian 9。当我从 USB 驱动器启动时,它会打开 grub2,当我键入时,boot它会给出错误:you need to load kernel first

答案1

输入然后点击 grub-rescue,它将帮助您设置第一个参数,例如:setTab

set prefix=(hd0,gpt2)/boot/grub
set root=(hd0,gpt2)
insmod normal
normal 

你需要先加载内核

要使用以下命令向前加载内核:

insmod linux
linux /vmlinuz root=/dev/sda2
initrd /initrd.img
boot 

更改/dev/sda2为您的根分区,如果您没有 GUID 分区表,gpt2则更改为。msdos

要正确设置启动参数,请参阅Ubuntu 文档:搜索和设置

答案2

就我而言,安全启动已开启。我刚把它关掉,它对我有用。尝试关闭安全启动

检查安全启动状态的命令

mokutil --sb-state

答案3

在运行命令之前,您必须定义一个内核文件,通常还定义一个 initrd 文件和内核命令行boot(请参阅 Grub 文档)。

普通启动介质提供一个菜单,您可以从中选择和进入。 Grub 命令行不适合您。要么您错误地使用了 Grub,要么您应该使用不同的引导介质。

答案4

在两个固定磁盘(/dev/sda/dev/sdb)上都有可引导分区的工作站上遇到相同的错误;无法在这里或其他地方找到解决方案。在这里描述我自己的修复,通过反复试验发现:

之上

grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-install /dev/sda

/dev/sdaGRUB 启动菜单显示了和上各个分区中安装的所有操作系统/dev/sdb(Windows、SuSE 15.3 及更早版本)。启动条目/dev/sda工作正常,从其中选择一个条目/dev/sdb会出现错误

您需要先加载内核...

/boot/grub2/grub.cfg将两个硬盘显示为“ hd0”和“ hd1”。 F2启动时在 BIOS 中显示这些条目(旧机器,无 EFI):

Main:

   SATA Port 0  [ST3500413AS]-(S0)]
   SATA Port 1  [Optiarc DVD RW-(S1)]
   SATA Port 2  None
   SATA Port 3  [ST3500413AS]-(S3)]
   SATA Port 4  None
   SATA Port 5  None

Boot -> Boot priority order:

    1:      SATA CD: Optiarc DVD RW-(S1)
    2:      Bootable Add-in Cards
    3:      SATA 0:  ST3500413AS-(S0)
    4:      SATA 3:  ST3500413AS-(S3)

我想知道是否是空的 SATA 端口 2 导致了问题?

我的修复方法是手动编辑/boot/grub2/grub.cfg(egad,在文件头中明确不鼓励!)并用“”替换hd1hd2”的所有实例。然后再说一遍:

grub2 安装 /dev/sda


GRUB 的引导菜单与以前相同,但引导现在适用于所有条目,包括/dev/sdb.

相关内容