安装后找不到GRUB normal.mod

安装后找不到GRUB normal.mod

我正在尝试在我的计算机上安装 Linux 和 Windows 双引导。我对网络很感兴趣,所以在网上研究了一下之后,我想安装 Kali。

加载 Live USB 后,我按照以下所有说明进行操作这些 页。

直到最后一切都很顺利。我重新启动并收到错误:

Welcome to GRUB!
error: file '/boot/grub/x86-64-efi/normal.mod' not found.
grub rescue>

由于我对Linux完全陌生,有人可以解释我在安装过程中做错了什么吗?

我安装了大包,验证了哈希值,将 ISO 写入 USB,并将 35GB 的 SSD 分配给 Kali。我完全按照帮助页面上的规定执行了所有步骤。

我在网上研究了一些关于人们遇到类似错误的信息,每个人似乎都遇到了“i386-pc”错误。另外,在我的 Live USB 中,install-grub 不是可用的命令(默认情况下)。

答案1

Kali Linux 文档(强调我的):

Kali Linux 适合您吗?

作为该发行版的开发人员,您可能希望我们建议每个人都应该使用 Kali Linux。然而,事实是 Kali 是一个专门面向专业渗透测试人员和安全专家的 Linux 发行版,并且鉴于其独特的性质,它是如果您不熟悉 Linux,则不推荐使用该发行版或者正在寻找用于开发、网页设计、游戏等的通用 Linux 桌面发行版。

即使对于经验丰富的 Linux 用户来说,Kali 也会带来一些挑战。[...]

Kali 往往比主流发行版更“前沿”(即更新的东西,即使冒着偶尔出现故障的风险)。我认为,当您选择 Kali 作为您的第一个 Linux 安装时,您做出了错误的选择。

该错误消息表明您正在使用 UEFI 版本的 GRUB 引导加载程序,因此您必须拥有一个带有 UEFI 固件的相当现代的系统。您链接的安装说明不幸的是,仅涵盖传统 BIOS 式引导加载程序的情况(这也是所指i386-pc的)。对于 UEFI 版本,步骤 #14 中的屏幕截图应该有所不同,因为“主引导记录”并不真正适用于 UEFI。

在您的 EFI 系统分区中,现在应该有一个目录\EFI\kali(或可能\EFI\debian),其中应包含多个文件,包括grubx64.efi= 实际的 GRUB 引导加载程序,以及grub.cfg= 它的初始配置文件。\EFI\Microsoft如果 Windows 也使用 UEFI 引导方式,则还应该有一个包含 Windows 引导加载程序的目录。

grub.cfg文件应包含如下内容:

search.fs_uuid 12345678-9abc-def0-1234-56789abcdef0 root 
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

该行中的 UUID 字符串search.fs_uuid将引用您安装 Kali 的 GPT 分区的文件系统 UUID(Kali 根文件系统,或者/boot如果您将其创建为单独的分区则为该文件系统),并且该set prefix行应引用包含以下内容的目录: GRUB 模块目录(x86-64-efi对于 UEFI 版本的 GRUB)以及该分区上的实际 GRUB 配置文件。所有这些都应该由安装程序根据您之前所做的选择自动确定,不幸的是,Kali 安装程序似乎由于某种原因出现了一些错误,或者未能正确填充实际的 GRUB 模块目录。要解决启动问题,您必须验证此信息是否与您的安装实际情况相符,并根据需要进行更正。

因此,除非您指定为 Kali 创建多个分区,并为其中一个分区指定了太小的大小,否则看起来您可能没有做错任何事情,并且不是因为您的过错而出现错误。

为了进行诊断,查看当前磁盘分区的视图(带有gparted或类似的内容)非常重要。由gpartedKali安装程序生成的任何分区的Partition->菜单项显示的信息Information也很有用,因为它包含应与放入 EFI 系统分区的文件UUID中的内容相匹配的字段。grub.cfg

我没有具体检查 Kali Live USB,但通常安装 GRUB 的命令是grub-install,而不是install-grub

相关内容