Error after restoring Timeshift with systemd-boot: Fails to mount /efi

I’m having an issue after restoring a Timeshift (Btrfs) snapshot on my EndeavourOS system with systemd-boot.

After the restoration, the system won’t boot and enters emergency mode with the following error:

[FAILED] Failed to mount /efi.  
[DEPEND] Dependency failed for Local File Systems.

When I try to manually mount the EFI partition (/dev/sda1), I get:
mount: /boot/efi: unknown filesystem type 'vfat'

And if I run modprobe vfat:

FATAL: module vfat not found in directory /lib/modules/6.1.3-arch1-1

It seems that systemd-boot or the EFI partition got corrupted after restoring the snapshot with Timeshift.

Questions:

  1. How can I recover systemd-boot without reinstalling the entire system?
  2. Why does Timeshift cause this issue with systemd-boot but not with GRUB?
  3. How can I prevent this problem in the future if I want to keep using Timeshift with systemd-boot?

Thanks in advance for your help.

Screenshot:

you could try to rebuild the efi partition you can use this tutorial for help on commands needed to do the reinstall.

1 Like

If you use timeshift with systemd-boot, you need to chroot in and run reinstall-kernels afterwards.

Be sure to mount your EFI partition in the chroot.

Because the initramfs are in the EFI partition and timeshift isn’t restoring that so they are out of sync. With grub, the initramfs are inside the filesystem your are restoring.

Before rebooting, chroot in from your running system and run reinstall-kernels

1 Like

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