5

如何在 Centos-8 下的命令行中列出 GRUB2 的“菜单项”?使用的可行方法“fgrep menuentry /etc/grub2.conf”失败。

因为在 Centos-8/RHEL-8 中,它们不会将 menuentry 存储在 /etc/grub2.conf 中。相反,它们在启动运行时搜索和构建条目。

以及如何将自定义 cmdline 参数添加到特殊菜单项?/etc/grub2.conf 中没有menuentry,我无法编辑任何menuentry。

4

2 回答 2

6

RHEL/CentOS 8 中的 Grub 菜单条目由各种文件和脚本组合而成,因此我们不会像以前版本的操作系统那样看到静态条目。(您可以看到位于 /boot/loader/entries/ 目录下的未扩展启动项配置文件)

为了查看默认菜单项,您可以使用:

grubby --info DEFAULT

为了查看所有菜单条目,您可以使用:

grubby --info ALL

后者还为我们提供了每个有用的条目的相应索引。例如,以下将列出第三个条目的多个条目详细信息:

grubby --info 2

为了自定义特定条目,您可以通过引用索引来做到这一点:

grubby --args amd_iommu=on --update-kernel 2

或者通过简单地使用当前内核的内核版本如下:

grubby --args amd_iommu=on --update-kernel=/boot/vmlinuz-$(uname -r) 

对条目进行修改后,选项应展开并列在 /boot/loader/entries/ 中的相应条目文件中(否则您将看到变量)。

于 2020-11-01T21:55:04.460 回答
1

不幸的是,grubby 不会列出您添加到 /boot/grub2/custom.cfg(由 /etc/grub.d/41_custom 加载)中的菜单条目。我也不确定它是否会包含 /etc/grub.d/40_custom 中加载的条目。

通过编译 grub2-emu 并运行它,我已经成功地看到了 grub 的菜单条目:

https://github.com/Jolicloud/grub2/blob/master/util/grub-emu.c

它在某些存储库中以 grub-emu 或 grub2-emu 包的形式提供。它向您展示了 grub 菜单的模拟,就像它在启动时出现的那样。

于 2021-06-04T20:14:56.053 回答