Today I tried to fix an old issue with an old laptop having dual boot - windows / ubuntu. This issue occurred one day out of nowhere (someone from forums said it was caused by a windows update).
While the windows system still boots, the laptop cannot boot into ubuntu and always gets stuck at a grub rescue shell with an error:
file /boot/grub/x86_64-efi/normal.mod not found
The following steps helped me to boot into linux:
- First, use command
ls
to see what partitions are available. The console will show a list of names such as(dh0,gpt1)
,(dh0,gpt2)
etc. - Then, try to use
ls
command to find your linux partition by
ls (dh0,gpt1)/
In my case, ls (dh0,gpt9)
gave me a list of familar folder names, e.g. boot
, usr
, opt
etc.
- Type the following commands and you should be able to boot.
set root=(hd0,gpt9)
set prefix=(hd0,gpt9)/boot/grub
insmod linux
linux /vmlinuz root=/dev/sda9 ro
initrd /initrd.img
boot
After writing down this little post, I found out this page containing much better explanation of this process