Hi everyone.
Tried to help a colleague and messed things up, now I need your help. Many thanks in advance, Monday he has to get back to work (crying desperately)…
Context:
Was unable to run pamac as it pointed to an already instance, however there was no lock file in var which I could delete. I tried to get to the bottom of it but gave up and, maybe gravely so, did not check if something bad was happening - I just rebooted the system. Then the odissey began:
Problem:
Grub loads and gives the following error:
error: file /boot/vmlinuz-5.10-x86_64 not found
error: you need to load the kernel first.
System won’t load, including via fallback.
Things I tried:
Run a live system - ok (/ is on gpt encrypted partition and boot on separate partition, so I did: cryptsetup open /dev/xxx2 root, then mount /dev/mapper/root /mnt/root + mount /dev/xxx1 /mnt/root/boot)
Get into inner system via manjaro-chroot /mnt/root - ok (reference: forum post here, cant post links)
pacman -Syyu - ok (updated some packages, system was fairly up to date, then “nothing to do”)
update grub - ok (reference: above)
mkinitcpio -P - ok (reference: forum post here, cant post links)
check if /boot/vmlinuz-5.10-x86_64 actually exists in the inner system, as grub claims it doesn’t, well it exists, alongside with everything else (I’d at least expect to find in /boot)
Next steps:
Well I’m not sure, googled a lot but wanted to get some direction to where to look next? Maybe something regarding UUIDs of partitions got messed up in grubs config? Maybe /boot partition is too full (but wouldn’t I run into problems when running pacman or update grub?
Again, thank you guys for your time and any tips on how to proceed with hunting down that error.
If you have another kernel installed, a good pratice is to have two, see if you can boot into it. If not boot an install media, chroot, and install another kernel, 5.15 is a lts kernel and good as a second one. That way you can boot into the system and work from there to fix the 5.10 issue.
Maybe grub needs tobe re-installed in the $ESP? (UEFI version)
Try creating the initrd before you update grub, because grub can’t include something that is being generated later
Also helpful if you post the output of lsblk --fswhile inside the chroot.
Guys, thanks for all the help!
All points are valid for anyone in a similar situation, in my case I resolved the problem on Sunday:
The kernel itself was corrupted, but mhwd-kernel apparently doesn’t work in chroot to (re-)install a kernel (in some post this was explained by the fact that it can’t install other kernels if you are running a kernel different from any of the ones mhwd-kernel -li lists, which makes sense to me at least, as outer-system-kernel != inner-system-kernel).
So I went the pacman route to have a second and working kernel: pacman -S --overwrite "*" linux515 linux515-headers linux515-nvidia
as in forum manjaro org/t/cannot-install-kernel/103154
All other steps were necessary to hunt down the problem, thanks everyone!