![grub 错误:您需要先加载内核](https://linux22.com/image/125963/grub%20%E9%94%99%E8%AF%AF%EF%BC%9A%E6%82%A8%E9%9C%80%E8%A6%81%E5%85%88%E5%8A%A0%E8%BD%BD%E5%86%85%E6%A0%B8.png)
我正在 HP ProLiant DL180 上安装 Debian 9。当我从 USB 驱动器启动时,它会打开 grub2,当我键入时,boot
它会给出错误:you need to load kernel first
。
答案1
输入然后点击 grub-rescue
,它将帮助您设置第一个参数,例如:set
Tab
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/sda
GRUB 启动菜单显示了和上各个分区中安装的所有操作系统/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,在文件头中明确不鼓励!)并用“”替换hd1
“ hd2
”的所有实例。然后再说一遍:
grub2 安装 /dev/sda
GRUB 的引导菜单与以前相同,但引导现在适用于所有条目,包括/dev/sdb
.