Manjaro wont't boot - /boot/efi can't mount

my Manjaro machine (xfce4.14) is not able to run completely since this morning.

It all start with file '@/boot/vmlinux-5.10-x86_64' not found.
Next thing I try is to boot an older kernel. This works (5.9.16) but I can"t get going beyhond a basic root shell wich shows an error about not being able to mount /boot/efi. This may be the root cause of all my troubles.

so, I look into /etc/fstab which shows:

UUID=CB34-7E70    /boot/efi    vfat    umask=0077  0  0

the UID looks kind of short if you ask me. the location /boot/efi exists, but is empty. Trying to mount that manually with sudo mount -t vfat /boot/efi returns: unknown filesystem type 'vfat'
I can locate btrfs snapshot via ‘/.snapshots’ and likewise can verify at least that /boot/efi/ has been empty before, so that does not seem to be my problem.

The last critical operation I did was to install etckeeper (pacman -Syu etckeeper). I have a btrfs snapshot prior that auto-created by snapper. I tried to boot into that snapshot with the same old kernel but wasn’t able to get any futher (booting into snapshot never worked though).

Unfortunatly snapper itself does not seem to run in my terminal session. snapper list returns some Failure (dbus fatal execeotion. So the idea to restore to the point befor the pacman operation is not a possibility neither. As mentioned above I could try to locate the snapshot from before the ‘pacman -Syu’ I ran yesterday on a btrfs level and try to restore that (which I never did before and due to that am a bit hesitant to do).

EDIT: looking into that snapshot taken prior the pacman -Syu I see at least that the 5.10 kernel is present in /boot. actually even in snapshots later then that.

are there any other suggestions for solving this from you people?

# Create the linux image
sudo mkinitcpio -P
# Update the Boot Menu
sudo update-grub

thx @megavolt

the manpage tells me “[mkinitcpio] Creates an initial ramdisk environment for booting the linux kernel” apparently -P makes sure this is build for every entry in /etc/mkinitcpio (which includes a linux510.preset.pacsave). I assume this will create initramfs-5.x... entries in /boot.

Will this restore the kernel itself also?

I can find vmlinuz-5.10.x84_64 (that is ther kernel, right?) in btrfs-snapshots and could just copy it from there to my current /boot (where it does not exist now).

No it will create images for initialization. That is not the kernel itself. If you removed the kernel, then reinstall it:

sudo mhwd-kernel -i linux510

You could try, but no guarantee that it works.

1 Like

throws a lot of errors.

  • Specifying this to /etc/mkinitcpio.d/linux510.preset.pacsave throws an kernel does not exist kind of error.
  • Then trying to install the kernel as suggested (sudo mhwd-kernel -i linux510) complains about too many packages being out of date, …
  • which finally results into realizing that there is not network adapter available whatsoever beyond the loopback. No difference with or withoud Ethernet cable being connected.

So maybe there is much more broken then suspected

No wonder… it is just a backup file made my pacman on last upgrade. That one is not used by mkinitcpio.

Yeah, seems you did not update for a long time. If you wait too long to update things on a Rolling Release, then the possibility to break is higher.

Yeah, might be better to run a Live Session, Chroot and do a complete upgrade.

here is what actually worked now

  1. cp /.snapshots/750/boot/vmlinuz-5.10-x86_64 /boot
  2. sudo mkinitcpio -p /etc/mkinitcpio.d/linux510.preset.pacsave
  3. reboot

thx @megavolt I wouldn’t been able to find that without your comments

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.