0

I just finished a Manjaro/Windows10 dual boot set up on my Thinkpad W541, but then I ran into a strange problem. Whenever I boot up the system, instead of the GRUB menu showing up, it's stuck at the Lenovo logo. However, I can confirm that GRUB is indeed running in the background (despite the display being stuck at the Lenovo logo) because I can still interact with it with my keyboard. For example, if I press "Enter", it boots straight into Manjaro; and if I press the "Down" key and then "Enter", it boots to Windows 10. This shows that GRUB is running, just that the menu interface isn't showing.

I've looked it up online and found a link where other users (using other distros) were experiencing the same issue. They are claiming it's a bug in GRUB, but I'm somewhat skeptical because I couldn't find similar complaints on Manjaro's forum.

Here is a brief information about my system:

enter image description here

I will also include the contents of my /etc/default/grub file:

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

I am fairly new to Linux, so it would be great if someone can help me out here. Thanks.

1
  • 1
    Please do not post images of text. Not everyone here can "read" an image, and the search feature cannot, either. Take time to transcribe it to text.
    – C. M.
    Jul 25, 2021 at 13:10

1 Answer 1

0

It would seem that GRUB might be choosing a wrong video backend for some reason.

One possible reason only applies if your system uses UEFI-style boot process, so if directory /sys/firmware/efi/ does not exist on your system, then you are booting in legacy BIOS style, and this answer will not apply to you.

But if /sys/firmware/efi/ does exist on your system, then your system is booting in UEFI style. And UEFI used to have two graphics programming interfaces: GOP and UGA. UGA was inherited by UEFI from the older EFI 1.0 specification, and GOP is new to UEFI. In practice, only Apple devices now use UGA with UEFI, while all other users of UEFI have standardized on GOP.

(For more details, see this question on SuperUser.SE.)

If your system appears to offer both graphics interfaces to the bootloader, but only one of them actually works, then GRUB might end up picking the wrong one.

If that's the problem, you could fix it by adding lines like this to the end of your /etc/default/grub file:

# Video backend
GRUB_VIDEO_BACKEND=efi_gop

and then running grub-mkconfig -o /boot/grub/grub.cfg to update the main GRUB configuration file at /boot/grub/grub.cfg.

You can replace efi_gop with efi_uga if you want to try the UGA graphics programming interface instead.

1
  • Hello. Thank you for your answer. I tried the steps you mentioned. But the problem remains. However, i uncommented the GRUB_TERMINAL_OUTPUT to get a "bare bone" boot menu. Just a simple menu without the Manjaro themes. I have no idea what the problem is. I have been puzzling over this for days.
    – Anthony
    Jul 31, 2021 at 15:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .