GRUB 선택 메뉴가 작동하지만 표시되지 않습니다.

GRUB 선택 메뉴가 작동하지만 표시되지 않습니다.

방금 Thinkpad W541에서 Manjaro/Windows10 듀얼 부팅 설정을 완료했는데 이상한 문제가 발생했습니다. 시스템을 부팅할 때마다 GRUB 메뉴가 표시되지 않고 Lenovo 로고가 그대로 유지됩니다. 그러나 키보드를 사용하여 계속 상호 작용할 수 있기 때문에 GRUB가 실제로 백그라운드에서 실행되고 있음을 확인할 수 있습니다(디스플레이에 Lenovo 로고가 표시되어 있음에도 불구하고). 예를 들어 "Enter" 키를 누르면 Manjaro로 직접 부팅되고, "Down" 키를 누른 다음 "Enter" 키를 누르면 Windows 10으로 부팅됩니다. 이는 GRUB가 실행 중이지만 메뉴 인터페이스가 표시되지 않음을 나타냅니다.

온라인으로 확인한 결과 다른 사용자(다른 배포판을 사용하는)가 동일한 문제를 겪고 있는 링크를 발견했습니다. 그들은 이것이 GRUB의 버그라고 주장하지만 Manjaro 포럼에서 유사한 불만 사항을 찾을 수 없기 때문에 약간의 의심이 듭니다.

내 시스템에 대한 간략한 정보는 다음과 같습니다.

여기에 이미지 설명을 입력하세요.

/etc/default/grub 파일의 내용도 포함하겠습니다.

GRUB_DEFAULT=0
GRUB_TIMEOUT=60
GRUB_TIMEOUT_STYLE=menu
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="quiet apparmor=1 security=apparmor resume=UUID=2bc98e71-4074-46c4-9ac5-1211bafa25e6 udev.log_priority=3"
GRUB_CMDLINE_LINUX=""

# If you want to enable the save default function, uncomment the following
# line, and set GRUB_DEFAULT to saved.
GRUB_SAVEDEFAULT=true

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command 'videoinfo'
GRUB_GFXMODE=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment this option to enable os-prober execution in the grub-mkconfig command
GRUB_DISABLE_OS_PROBER=false

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/usr/share/grub/background.png"
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to ensure that the root filesystem is mounted read-only so that
# systemd-fsck can run the check automatically. We use 'fsck' by default, which
# needs 'rw' as boot parameter, to avoid delay in boot-time. 'fsck' needs to be
# removed from 'mkinitcpio.conf' to make 'systemd-fsck' work.
# See also Arch-Wiki: https://wiki.archlinux.org/index.php/Fsck#Boot_time_checking
#GRUB_ROOT_FS_RO=true

나는 Linux를 처음 접했기 때문에 누구든지 나를 도울 수 있다면 좋을 것입니다. 감사해요.

답변1

어떤 이유로 GRUB가 잘못된 비디오 백엔드를 선택한 것 같습니다.

한 가지 가능한 이유는 시스템이 UEFI 스타일 부팅 프로세스를 사용하는 경우에만 적용됩니다. 따라서 시스템 /sys/firmware/efi/에 디렉터리가 없으면 레거시 BIOS 스타일로 부팅하게 되며 이 대답은 적용되지 않습니다.

그러나 /sys/firmware/efi/시스템에 존재하는 경우 시스템은 UEFI 모드로 부팅됩니다. UEFI에는 GOP와 UGA라는 두 가지 그래픽 프로그래밍 인터페이스가 있었습니다. UGA는 이전 EFI 1.0 사양에서 UEFI의 상속인 반면, GOP는 UEFI의 새로운 사양입니다. 실제로 이제 Apple 장치만 UEFI와 함께 UGA를 사용하는 반면, UEFI의 다른 모든 사용자는 GOP로 표준화되었습니다.

(자세한 내용은 다음을 참조하세요.SuperUser.SE에 대한 이 질문.)

시스템이 부트로더에 두 개의 그래픽 인터페이스를 제공하는 것처럼 보이지만 그 중 하나만 실제로 작동하는 경우 GRUB가 잘못된 인터페이스를 선택하게 될 수 있습니다.

이것이 문제인 경우 파일 끝에 다음과 같은 줄을 추가하여 문제를 해결할 수 있습니다 /etc/default/grub.

# Video backend
GRUB_VIDEO_BACKEND=efi_gop

그런 다음 실행하여 grub-mkconfig -o /boot/grub/grub.cfg에 있는 기본 GRUB 구성 파일을 업데이트합니다 /boot/grub/grub.cfg.

UGA 그래픽 프로그래밍 인터페이스를 사용해보고 싶다면 efi_gop.efi_uga

관련 정보