Kali Linux 总是在 grub 中启动

Kali Linux 总是在 grub 中启动

我已经安装了好几次 Kali Linux,但我都是启动到 grub。然后我必须使用以下代码进入操作系统;

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

由于这很不方便,我在谷歌上搜索了如何更改启动配置,找到了以下解决方案:

sudo nano /etc/default/grubGRUB_CMDLINE_LINUX_DEFAULT根据需要找到并设置引导参数。如果您需要使用“insmod”加载模块,您可以这样做

GRUB_CMDLINE_LINUX_DEFAULT="安静"

然后sudo update-grub

我尝试添加前缀和引导命令,并用分号分隔,但我最终再次进入 grub,不得不手动引导。值得庆幸的是恢复有效。然后我还添加了 insmod 正常和正常命令,但它无法启动(即使在恢复中)。

所以我想知道我哪里出错了,是否有人为我提供了正确的代码字符串?

我尝试重新安装,但没有成功,我注意到 BIOS 中的启动分区一直显示为 Ubuntu,不确定这是否重要,因为它可以从 grub 手动启动。

我只忘记了我的代码是什么样子,但我认为它在安静的括号中。

答案1

听起来 grub 没有正确安装。 Grub已经配置清楚了,不然normal没啥帮助。所以update-grub不会对你有太大帮助,因为它所做的只是重写配置。

假设您使用 EFI 引导,则 grub 需要与存根配置文件一起安装到 ESP (EFI) 分区中,或者将该配置文件预先打包到 grub 二进制文件本身中。

您说您仍然可以进入操作系统,因此要解决此问题,请启动 Kali。

然后,假设您的系统使用 EFI 而不是旧版启动,首先确保/etc/fstab包含将 ESP (EFI) 分区挂载到 的条目/boot/efi。如果不存在,则添加它。

然后还要检查您的系统是否确实安装了该分区:

mount | grep /boot/efi

重新安装grub试试...

一旦您知道您的 ESP 分区已正确安装,那么您应该能够不带grub-install参数运行以将正确的grub.cfg文件添加到您的 ESP 分区:

grub-install

否则手动安装配置...

如果这不起作用,那么您可能需要手动执行此操作。我对 Kali 的了解有点有限,所以我不确定确切的目录是什么。您需要确保同一目录中有 grub 的配置文件。例如:如果引导加载程序是/boot/efi/EFI/debian/grubx64.efi,那么还应该有/boot/efi/EFI/debian/grub.cfg配置文件。

您可以编辑此配置文件并复制您在问题中提到的确切命令:

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

更好的,您可以并且应该找到根文件系统的 UUID(或包含 /boot 目录的文件系统)并使用search。您可以用来blkid发现 UUID。例如,配置文件最终可能如下所示:

search --fs-uuid 917afb23-5bb6-4537-b985-3bc2a6416de0 --set boot
set prefix=${boot}/boot/grub
insmod normal
normal

相关内容