Hello,
I read a few posts about grub menu problems and tried various things but they haven’t solved my problem. I am dual booting Manjaro and Windows 10 on a laptop, one EFI partition shared between both OS. The grub menu was working fine until I started messing around. I connected another SSD via a separate Sata port that has a macOS hackintosh install (and its own EFI partition) with Opencore bootloader. Since then the UEFI entries in my laptop BIOS have changed and when I select an entry that points to the dual boot EFI partition I get a blank screen with a thing line of ?garbled graphics at the top of the screen… then a pause for the duration the Grub Menu would usually stay there for (approx 5 seconds) then it boots in to Manjaro. During this time it doesn’t matter if I press any buttons… “c”, “esc” “F8” arrow up and arrow down… this doesn’t have any effect but after a few seconds it boots in to Manjaro. It’s like the Grub menu is there but I can’t see it or interact with it in any way.
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=""
# 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=800x600
# 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
These are other things I have tried:
Note: I wanted to include links but was not allowed as this is my first post.
First thing
I changed GRUB_TIMEOUT_STYLE=hidden to GRUB_TIMEOUT_STYLE=menu
I also have this line uncommented:
GRUB_DISABLE_OS_PROBER=false
Then…
sudo grub-mkconfig -o /boot/grub/grub.cfg
reboot
Second thing
Tried pressing buttons when the grub menu is ?probably there
c esc Shift F8
Third thing
I wrote the Manjaro ISO to a USB key and booted in to that and the “chrooted” in to the Manjaro OS on the SSD from the Live USB and executed the commands listed on that page.
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
grub-mkconfig -o /boot/grub/grub.cfg
Fourth thing
In /etc/default/grub I tried commenting and uncommenting…
GRUB_TERMINAL_INPUT=console
GRUB_TERMINAL_OUTPUT=console
This didn’t make any difference
I tried changing GRUB_GFXMODE=auto to GRUB_GFXMODE=800x600
This DID change the screen resolution around the time when I think the Grub menu is there but I still could not see the grub menu and pressing buttons
and arrow keys on the keyboard did nothing.
Fifth thing
In Windows 10 command line I ran this command:
bcdedit /set {bootmgr} path \EFI\manjaro\grubx64.efi
This now gives me two UEFI BIOS boot entries with the same name: Windows Boot Manager
But it is working correctly in that one brings me directly in to Win 10 and the other brings me to what I guess is the Grub Menu except as described above… I cannot see the Grub screen or interact with it and it then just boots in to Manjaro regardless of what buttons I press on the keyboard.
Sixth thing
I added a new entry to my UEFI BIOS. My EFI partition is at /dev/sda1
.
Using this command…
sudo efibootmgr -c -d /dev/sda -p 1 -L "manjaro" -l "\EFI\Manjaro\grubx64.efi"
Again selecting this takes me to a blank screen, which I presume is the Grub Menu, that stays there for a few seconds and then Manjaro boots.
Any help greatly appreciated,
Flex