grub2 메뉴를 표시할 수 없습니다

grub2 메뉴를 표시할 수 없습니다

듀얼부팅할 노트북이 있습니다. 이전에는 Windows(7)로 부팅되었으며 이제 Linux를 설치한 후 Linux(openSUSE)로 직접 부팅됩니다. /etc/grub.d/40_customWindows 체인로더 항목을 추가하도록 편집했습니다 . 여태까지는 그런대로 잘됐다.

불행히도 GRUB2에서 선택 메뉴를 표시할 수 없습니다.별말씀을요, Linux 설치에 대한 안전 모드 항목을 선택할 수도 있습니다. 잠시 "Welcome to grub" 메시지가 표시된 다음 기본 Linux 항목으로 직접 부팅됩니다.

내가 시도한 것들:

  • GRUB_TIMEOUT정수 값으로 설정 GRUB_HIDDEN_TIMEOUT하고
    • 0
    • 공백
    • 주석 처리됨
  • GRUB_HIDDEN_TIMEOUT_QUIET으로 설정 true하고false
  • GRUB_TERMINAL로 설정console
  • 삭제 quiet하고splash=silentGRUB_CMDLINE_LINUX_DEFAULT

매번 구성을 다시 생성합니다./usr/sbin/grub2-mkconfig

기타 정보:

  • 상태에 관계없이 부팅 중에 Shift 키를 눌러도 메뉴가 표시되지 않습니다.GRUB_HIDDEN_TIMEOUT
  • /sys/firmware/efi이 컴퓨터는 UEFI를 사용하지 않는 것이 확실합니다( 디렉토리가 없습니다 ).
  • 레거시 USB 지원은 BIOS에서 활성화됩니다.

제가 시도할 수 있는 다른 것이 있나요? 이건 정말 짜증나는 일입니다. 저는 그럽 레거시 문제로 인해 그렇게 많은 어려움을 겪어본 적이 없습니다!

편집하다:

grub.cfg시간 초과와 관련된 부분:

if [ x${boot_once} = xtrue]; then
    set timeout=0  
elif [ x$feature_timeout_style = xy ]; then  
    set timeout_style=menu  
    set timeout=0  
# Fallback normal timeout code in case the timeout_style feature is unavailable
else  
    set timeout=0  
fi

timeout = 10이는 파일을 편집하면 grub.cfg예상대로 메뉴가 직접 표시되는 grub 업데이트 스크립트의 출력과 다릅니다 .

답변1

이 줄이 당신의 줄에 있습니까 /etc/default/grub? 그렇지 않은 경우 추가하십시오.

GRUB_TIMEOUT=10
GRUB_TIMEOUT_STYLE=menu

그런 다음 update-grub업데이트를 실행하세요./boot/grub/grub.cfg

다음을 통해 필요한 변경 사항이 발생했는지 확인할 수 있습니다.
grep -i timeout /boot/grub/grub.cfg

출력에는 다음 값이 포함되어야 합니다.

set timeout_style=menu
set timeout=10

~에서GRUB 매뉴얼:

GRUB_TIMEOUT

키를 누르지 않으면 메뉴가 표시된 후 몇 초 내에 기본 항목이 시작됩니다. 기본값은5. 설정0메뉴를 표시하지 않고 즉시 시작하거나-1무기한 기다리세요. 만약에GRUB_TIMEOUT_STYLE로 설정되어 있습니다역수또는 숨겨진, 메뉴가 표시되기 전에 시간 초과가 계산됩니다.

GRUB_TIMEOUT_STYLE

이 옵션이 설정되어 있지 않거나 다음으로 설정된 경우메뉴, GRUB은 메뉴를 표시하고GRUB_TIMEOUT기본 항목을 시작하기 전에 만료됩니다. 키를 누르면 시간 초과가 중단됩니다. 이 옵션이 다음으로 설정된 경우역수또는숨겨진, GRUB는 메뉴가 표시될 때까지 기다립니다. GRUB_TIMEOUT만료까지. 만약에ESC이때 키를 누르면 메뉴가 표시되고 입력을 기다립니다. 메뉴 항목과 관련된 단축키를 누르면 관련 메뉴 항목이 즉시 실행됩니다. 이러한 조건 중 하나가 발생하기 전에 시간 초과가 만료되면 기본 항목이 시작됩니다. 내부에역수이 경우 남은 시간을 나타내는 선이 표시됩니다.

답변2

설명하신 대로 구성 소스에 대한 변경 사항이 grub적용되지 않는 것 같습니다. grub2-mkconfig모든 편집 후에 실행되도록 명시합니다 . 하지만 매뉴얼 페이지를 보면 알 수 있습니다.

-o, --output=FILE

생성된 구성을 FILE로 출력합니다. [기본값= stdout]

보시다시피 grub2-mkconfig(최근에는 간단하게 grub-mkconfig)는 실제 구성 파일에 쓰지 않고 단지 내용을 콘솔에 인쇄합니다. 변경 사항을 적용하려면 다음을 사용하세요.

grub-mkconfig -o /boot/grub2/grub.cfg

또는

grub-mkonfig > /boot/grub2/grub.cfg

관련 정보