GRUB does not remember root file system location

I wiped my old Ubuntu OS and installed Ubuntu 20.04 LTS (alongside Windows 10) from a USB device to replace it. When I first booted into it after installation, the GRUB menu did not load, but it opened the GRUB CLI instead. I've learned that this is due to GRUB not finding the root file system. I followed this tutorial to configure GRUB from its CLI. Everything went alright and I was able to boot into Ubuntu. After successfully running sudo update-grub and sudo grub-install /dev/nvme0n1 and rebooting, GRUB still opened the CLI instead of loading the menu like it should. I have no idea why GRUB doesn't remember these configurations. Is there a way to manually change the files so that the boot menu is loaded correctly?

If it helps, this is how my partitions look like:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 55,5M 1 loop /snap/core18/1988
loop1 7:1 0 219M 1 loop /snap/gnome-3-34-1804/66
loop2 7:2 0 64,8M 1 loop /snap/gtk-common-themes/1514
loop3 7:3 0 31,1M 1 loop /snap/snapd/11036
loop4 7:4 0 51M 1 loop /snap/snap-store/518
loop5 7:5 0 99,4M 1 loop /snap/core/11316
loop6 7:6 0 61,7M 1 loop /snap/core20/1026
loop7 7:7 0 207,1M 1 loop /snap/code/67
loop8 7:8 0 301,5M 1 loop /snap/telegram-desktop/2814
loop9 7:9 0 55,5M 1 loop /snap/core18/2074
loop10 7:10 0 32,3M 1 loop /snap/snapd/12398
loop11 7:11 0 219M 1 loop /snap/gnome-3-34-1804/72
loop12 7:12 0 51M 1 loop /snap/snap-store/547
loop13 7:13 0 65,1M 1 loop /snap/gtk-common-themes/1515
nvme0n1 259:0 0 477G 0 disk
├─nvme0n1p1 259:1 0 500M 0 part
├─nvme0n1p2 259:2 0 128M 0 part
├─nvme0n1p3 259:3 0 290,1G 0 part
├─nvme0n1p4 259:4 0 78,1G 0 part
├─nvme0n1p5 259:5 0 932M 0 part
├─nvme0n1p6 259:6 0 12,2G 0 part
├─nvme0n1p7 259:7 0 1,1G 0 part
├─nvme0n1p8 259:8 0 1M 0 part
├─nvme0n1p9 259:9 0 513M 0 part
├─nvme0n1p10 259:10 0 23,3G 0 part /
└─nvme0n1p11 259:11 0 70,1G 0 part /home
3

1 Answer

The UEFI mode should have a mount of the EFI partiion at /boot/efi -- you don't. Without that mount, there is no way to update /boot/efi/EFI/ubuntu/grub.cfg, which is the three line stub which brings in the /boot/grub/grub.cfg from your root. You can find the UUID of the EFI partition with

sudo blkids

Then just edit the EFI's grub.cfg and use that UUID (and change any old disk/partition reference hints too). Or just fix the EFI mount in /etc/fstab with a line like:

UUID=xxxx-yyyy /boot/efi vfat umask=0077 0 1

Using the UUID for the EFI partition. Then run

sudo grub-install /dev/nvme0n1

Check/add that the boot flag is on the EFI partition, and you should be all set.

0

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like