You probably have seen the dreadful “grub rescue” shell, when booting up your linux. I faced quite a few times due to a couple of reasons. This post is about how to fix it.
The main issue is because grub does not know where the bootloader is installed. This could happen after you just did a kernel upgrade, or did a update-grub
manually. Therefore, we just have to let grub know where the bootloader is on.
ls
Find out how many hard disks and partitions are there. it should show something like the following
(hd0) (hd0,gpt2) (hd0,gpt1) (hd1) ... (hd1,gpt1)
Keep ls
-ing into the hard disks until you see /boot
> ls (hd0,gpt7)
(hd1,gpt7): Filesystem is ext2
# we found the filesystem for root
> ls (hd0,gpt7)/boot
./ ../ grub/ memtest86+/ initramfs-4.14-x86_64.img ...
Solution
Once you found the root drive, do the following.
> set prefix=(hd1,gpt7)/boot/grub
> set root=(hd1,gpt7)
> insmod normal
> normal
source: grub2 - How to fix “error: unknown filesystem. grub rescue> - Ask Ubuntu
After pressing enter, you should be immediately taken to the bootloader.
Possible causes
This can happen when windows have a major update or something messed up the bootloader. But the above solution will only bootup your OS. You still need to fix it.