Problem
After system update, grub update assigned the wrong root partition to the boot entry. During boot, grub is unable to find correct root partition.
P1: Manually Boot GRUB
Method
Manually assign correct root partition and load Linux kernel and initramfs image through grub command line.
Code
set root=(hdX, gptX)
linux /boot/vmlinuz-<kernel file> root=LABEL=<root disk label>
initrd /boot/initramfs-<initramfs image file>
boot
P2: Manually Boot from Arch Emergency Shell
Method
Manually mount root partition by mounting correct partition to new_root
.
Code
mount /dev/nvmenXpX new_root
exit
Additional Notes
Seems like I am having this bug because the drive identifier (nvmenXpX
) is different during boot and post boot. That is, grub-update
recognizes nvmen1p2
to be the root partition while in Manjaro, but in Grub nvmen1p2
is mapped to another drive (need investigation).
References
Unix stack exchange - grub error: you need to load kernel first
Unix stack exchange - How to manually boot Arch Linux from preboot emergency shell?