I have my laptop (Dell XPS 15) dual booted with Windows 11 and Manjaro Plasma KDE. This has been working well for me for about a year or so. However, after updating my installation with pamac update the command exited early reporting some sort of error. It didn’t seem too troubling at the time and I ran pamac update a second time and the command completed without any errors. Thinking everything was well I completed my work and shut my computer down.
When I booted up the system again I was taken to the GRUB menu like usual and I selected my Manjaro installation. After selection, I was instead taken into some command prompt saying that my kernel wasn’t installed. I found this post and followed its instructions.
If I try booting now I am taken directly into the BIOS settings as if I had selected the “UEFI firmware settings” option from the GRUB menu (or pressed my ‘F2’ key during startup). When I have my boot priority set to GRUB I am taken back to the BIOS settings after the computer seems to restart. I am able to boot into Windows if I set its boot manager as priority.
I’ve followed the instructions described here to try and recover or reinstall GRUB, but to no avail. I am currently able to access Manjaro through a live USB.
Though I have some familiarity with Manjaro and the CLI, I still feel very new to all of this. Any help would be greatly appreciated.
I had this happen twice, after a Windows 10 update. I couldn’t edit my boot menu, so I just reinstalled Linux. When it happened a third time, I relegated Windows a separate laptop.
I mean, if you are ok with letting windows own you, sure…
Me, I would NEVER GIVE UP, FIGHT UNTIL I CAN’T WALK!
(maybe safest to clarify I’m sarcastic here)
I wish I had that option. I’m a student, so I need the portability of a laptop. I find myself using Manjaro more and more, but I still need Windows for certain pieces of software.
Dude, did you even read what he wrote? He cant even get past bios at this moment.
@tcd Download an iso and put it on a usb stick, boot with that, chroot and follow the guide on reinstalling grub.
If you get errors, copy them and post them here.
You probably want to run an update of your system (in the terminal, not gui) while in chroot but let’s see what this does first.
Are you sharing boot partition with windows?
I only see one boot, and efi reports same UUID.
Make a new partition and install kernels and grub on that.
fat32, 100mb should be fine. Flag it as boot
chroot and make sure the new drive is mounted in /boot/efi
Making a second ESP is nice but not obligatory. On a first glance bootloader and efi variables seem installed but reinstalling will not hurt.
Can it be that you just have your grub menu hidden? And it remembered and boots the last entry which is bios?
Can you post cat /etc/default/grub
If he want’s these problems over and over and over, ofc using win boot is an option.
As long as he realizes that and is fine with it, I will sleep well. xD
I created the new partition (nvme0n1p10) though I am unsure how to flag it as boot.
I’m not certain about how to properly chroot. I could use manjaro-chroot -a but I wasn’t certain if that would use the old partition and mount it to /boot/efi. I instead followed the directions about a manual chroot outlined here:
I ran the commands sudo mount /dev/nvme0n1p7 /mnt, sudo mount /dev/nvme0n1p10 /mnt/boot/efi, sudo mount /dev/nvme0n1p8 /mnt/home ,
and finally manjaro-chroot /mnt /bin/bash
I think the below output of lsblk -f shows that I have things mounted in the correct places.
I ran the commands you (@cfinnberg) specified
the only error I received is the output from update-grub:
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
grub-probe: error: cannot find a GRUB drive for /dev/sda1. Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sda1. Check your device.map.
Adding boot menu entry for UEFI Firmware Settings ...
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning: unknown device type nvme0n1.
done
That looks like the usb drive to me. Like it is not chrooted.
For the p10 new ESp partition, you can check with gparted for example, it has to have esp and boot flags. You can also set them from there. You can also check from the live session if EFI/manjaro/grubx64.efi exists (it is one of the things grub-install makes).
+1. It isn’t usually hidden in my experience but I only do manual installations, so might not always be the case. But if the menu is actually shown, does pressing the arrow keys and selecting to boot from a known good kernel work?
… I also had an issue where I’d set the boot order wrong in the BIOS itself. Try changing that?
GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT=""
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 Hidden Menu, and optionally hide the timeout count
#GRUB_HIDDEN_TIMEOUT=5
#GRUB_HIDDEN_TIMEOUT_QUIET=true
# 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 `vbeinfo'
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 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="/path/to/gfxtheme"
# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"
You could try changing the first line from =saved to =default and comment out the GRUB_SAVEDEFAULT line (appending a #) or change it to =false if your GRUB menu isn’t showing, which it looks like it should be from what you’ve posted.