我正在摆弄我的 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' {
$menuentry_id_option 'gnulinux-simple-fe3a2033-d77c-4d8c-ba04-3bb27b267dc2'
最后的那部分是什么?当我添加新的启动选项时是否需要它?
那么,这是什么$menuentry_id_option
意思呢?
当我为其他发行版添加另一个启动菜单项时,是否需要使用它?
如果我不包含它会发生什么?
另外,是否有一些 GRUB 参考资料可供我查找有关这些东西的作用的问题?
答案1
您正在寻找的线路是:
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
为您提供 的值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' {
如果不是,那么它将保持原样:
menuentry 'Ubuntu 14.04 Trusty Tahr (on sda5)' --class ubuntu --class gnu-linux --class gnu --class os 'gnulinux-simple-fe3a2033-d77c-4d8c-ba04-3bb27b267dc2' {
手册中--id
未定义参数menuentry
menuentry
,但人们可以随意猜测是内核应该从中启动的分区的 UUID。
答案2
根据这封邮件: https://lists.gnu.org/archive/html/grub-devel/2013-01/msg00070.html
摘抄> @@ -3135,6 +3136,9 @@ > The @option{--hotkey} option associates a hotkey with a menu entry. > @var{key} may be a single letter, or one of the aliases @samp{backspace}, > @samp{tab}, or @samp{delete}. > + > +The @option{--id} may be used to associate unique identifier with a menu entry. address@hidden is arbitrary string.
它必须是 [a-zA-Z_][0-9a-zA-Z_]* (虽然任意字符串都可以工作,但这不是一个好主意。
该选项实际上为 menuentry 提供了一个唯一的 id,但未记录,因为不推荐这样做。 AFAIU,分区 UUID 只是许多发行版在创建该 id 时遵循的做法。
例如,在 Arch 中,格式为“gnulinux-core repo kernel-true-{UUID}”。