grub에서 "$menuentry_id_option"은 무엇입니까?

grub에서 "$menuentry_id_option"은 무엇입니까?

GRUB 2 구성 파일( )을 가지고 놀다가 자동으로 추가된 Ubuntu 부팅 라인이 다음과 같은 /boot/grub/grub.cfg것을 발견했습니다 .menuentry

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}"입니다.

관련 정보