0

I am UEFI dual booting Win 10 with Manjaro using Grub2. Here are my bootloaders:

[flex@mylaptop ~]$ efibootmgr --verbose
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,0004,0000
Boot0000* Windows Boot Manager  HD(1,GPT,91383c96-901f-403a-8de5-363c8eb6f581,0x800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC
Boot0001* Grub Menu     HD(1,GPT,91383c96-901f-403a-8de5-363c8eb6f581,0x800,0x32000)/File(\EFI\manjaro\grubx64.efi)
Boot0002* UEFI Onboard LAN IPv4 PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)/MAC(qwerty123,0)/IPv4(0.0.0.00.0.0.0,0,0)RC
Boot0003* UEFI Onboard LAN IPv6 PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)/MAC(qwerty123,0)/IPv6([::]:<->[::]:,0,0)RC
Boot0004* Windows Boot Manager  HD(1,GPT,91383c96-901f-403a-8de5-363c8eb6f581,0x800,0x32000)/File(\EFI\manjaro\grubx64.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...6................

By the way what's with all those extra characters at the end of the Boot0004* Windows Boot Manager entry? The two Windows Boot Manager entries get auto generated, I didn't make them. I only made the Grub Menu using efibootmgr.

When I let the laptop boot itself I get the Grub menu just fine I guess because this bootloader is loaded because it points to Grub:

Boot0001* Grub Menu     HD(1,GPT,91383c96-901f-403a-8de5-363c8eb6f581,0x800,0x32000)/File(\EFI\manjaro\grubx64.efi)

However if I hit F12 to get in to the BIOS and then select the same "Boot0001* Grub Menu" bootloader from there then the Grub Menu will not show. When the timeout expires the last OS that I had selected from the Grub menu loads.

It's like the graphics don't work in Grub when I select a \EFI\manjaro\grubx64.efi bootloader manually from the UEFI BIOS bootloader select menu screen. I can see a think line at the top of the screen with garbled text... but no Grub Menu. Is this a limitation of my BIOS firmware maybe? I tried re-creating the "Boot0001* Grub Menu" bootloader entry as "Boot0001* Windows Boot Manager" but I get the same result.

I also tried various things in the Grub config file such as with the fx graphics (currently set to auto) but that didn't make any difference either.

This is my /etc/default/grub

GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
#GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT_STYLE=menu
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="quiet apparmor=1 security=apparmor udev.log_priority=3"
#GRUB_CMDLINE_LINUX_DEFAULT="apparmor=1 security=apparmor 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
#GRUB_GFXMODE=1024x768

# 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

My question
How can I make the Grub menu appear when I select Boot0001* Grub Menu OR Boot0001* Windows Boot Manager from the UEFI BIOS bootloader menu?

Thank you in advance!

FlexMcMurphy
  • 371
  • 4
  • 16
  • You cannot make GRUB menue appear when you choose Windows Boot Manager, well, because it is Windows Boot Manager, not GRUB. – Abdullah Ibn Fulan Oct 24 '21 at 03:56
  • There are two bootloaders named: "Windows Boot Manager". One points to Win 10 and the other points to Grub. If I change the order of the one pointing to Grub to be the default bootloader and I let the laptop boot up by itself then it shows the Grub Menu. If instead I press F12 on boot up and select that same bootloader from the UEFI Bootloader menu list then I get a black screen with some garbled text at the top. I suspect this is the Grub Menu but it is not displaying properly. After the usual Grub timeout an OS loads and it's always the same OS that I previously loaded from Grub. – FlexMcMurphy Oct 24 '21 at 14:58

0 Answers0