Что такое `$ menuent_id_option` в grub?

Я возился с файлами конфигурации 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, на которую я могу посмотреть на вопросы о том, что это такое?

Строка, которую вы ищете, это:

 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 для раздела, из которого предполагается загрузить ядро.

Согласно этой почте: 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 _] * (в то время как произвольная строка будет работать, это не очень хорошая идея.

Этот параметр фактически дает пункту меню уникальный идентификатор, но недокументирован, потому что он не рекомендуется. AFAIU, раздел UUID – это просто практика, с которой сталкиваются многие дистрибутивы при создании этого id.

Например, в Arch используется формат «gnulinux-core repo kernel-true- {UUID}».