grubの「$menuentry_id_option」とは何ですか?

grubの「$menuentry_id_option」とは何ですか?

GRUB 2設定ファイル()で遊んで自動的に追加されたUbuntuブートラインは、次のようになりました/boot/grub/grub.cfgmenuentry

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定義されていないパラメータmenuentrymenuentryしかし、カーネルが起動しなければならないパーティションの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_]* でなければなりません (任意の文字列を使用しても動作しますが、良い考えではありません。

このオプションは、実際にはメニュー項目の一意のIDを提供しますが、推奨されていないため、文書化されていません。 AFAIU、パーティションUUIDは、そのIDを生成するときに多くのディストリビューションが従う慣行にすぎません。

たとえば、Archでは、フォーマットは "gnulinux-core repo kernel-true-{UUID}"です。

関連情報