grub 中的“$menuentry_id_option”是什么?

Rob*_*xyz 7 grub2

我在摆弄我的 GRUB 2 配置文件 ( /boot/grub/grub.cfg),我注意到menuentry自动添加的 Ubuntu 启动行如下所示:

menuentry 'Ubuntu 14.04 Trusty Tahr (on sda5)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-fe3a2033-d77c-4d8c-ba04-3bb27b267dc2' {
Run Code Online (Sandbox Code Playgroud)

$menuentry_id_option 'gnulinux-simple-fe3a2033-d77c-4d8c-ba04-3bb27b267dc2'最后那部分是什么,当我添加新的引导选项时是否需要它?

那么,这$menuentry_id_option意味着什么?
当我为其他发行版添加另一个启动菜单项时,是否需要使用它?
如果我不包括它会发生什么?

另外,是否有一些 GRUB 参考资料可以查找有关这些东西的作用的问题?

Bra*_*iam 5

您正在寻找的线路是:

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi
Run Code Online (Sandbox Code Playgroud)

为您提供 的值feature_menuentry_id,如果它等于y,则会将该--id参数添加到您的菜单条目中:

menuentry 'Ubuntu 14.04 Trusty Tahr (on sda5)' --class ubuntu --class gnu-linux --class gnu --class os --id 'gnulinux-simple-fe3a2033-d77c-4d8c-ba04-3bb27b267dc2' {
Run Code Online (Sandbox Code Playgroud)

如果不是,那么它将保持原样:

menuentry 'Ubuntu 14.04 Trusty Tahr (on sda5)' --class ubuntu --class gnu-linux --class gnu --class os 'gnulinux-simple-fe3a2033-d77c-4d8c-ba04-3bb27b267dc2' {
Run Code Online (Sandbox Code Playgroud)

--idfor 的menuentry手册中没有定义 的参数menuentry,但可以随意猜测是内核应该从中启动的分区的 UUID。

  • 哇。未记录的选项,如果我们不想使用它,那么命令行上会有一个悬空的无选项字符串?这很脏... (2认同)