Unbootable - Failed to mount EFI!

We didn’t notice the error message.

The EFI partition has no space for installing kernel.

1 Like

Doing:

    rm /var/lib/pacman/db.lck
    sudo umount /mnt
    sudo mount -o subvol=@ /dev/nvme0n1p2 /mnt
    sudo mount /dev/nvme0n1p1 /mnt/efi
    sudo mount -o subvol=@log /dev/nvme0n1p2 /mnt/var/log
    sudo mount -o subvol=@cache /dev/nvme0n1p2 /mnt/var/cache
    sudo arch-chroot /mnt
    pacman -S linux-lts
    reinstall-kernels
    exit
    Reboot.

I had a problem of space a few days ago but fixed it and my SSD is only 25% full!

170.7 GiB of 238.2 GiB free (28% used)

But It does not show the usage of the EFI parititon, but of the entire SSD.

Show us: # df -H

1 Like
[liveuser@eos-2022.08.28 ~]$ df -H
Filesystem      Size  Used Avail Use% Mounted on
dev              11G     0   11G   0% /dev
run              11G   10M   11G   1% /run
/dev/sda1       1.9G  1.9G     0 100% /run/archiso/bootmnt
cowspace         11G   79M   11G   1% /run/archiso/cowspace
/dev/loop0      1.8G  1.8G     0 100% /run/archiso/airootfs
airootfs         11G   79M   11G   1% /
tmpfs            11G     0   11G   0% /dev/shm
tmpfs            11G  541k   11G   1% /tmp
tmpfs           2.1G   87k  2.1G   1% /run/user/1000
/dev/nvme0n1p2  256G   65G  184G  27% /run/media/liveuser/39326df8-bcf7-4bef-b8b7-23fa3e95f8ed
[liveuser@eos-2022.08.28 ~]$ 

Maybe I need to uninstall or remove Arch and keep the LTS? Or perhaps increase the size of EFI Partition? Maybe this was the reason for the main problem I had?

I do not see where is the EFI parition in your post.

Try to run:

$ sudo umount /mnt
$ sudo mount -o subvol=@ /dev/nvme0n1p2 /mnt
$ sudo mount /dev/nvme0n1p1 /mnt/efi
$ sudo mount -o subvol=@log /dev/nvme0n1p2 /mnt/var/log
$ sudo mount -o subvol=@cache /dev/nvme0n1p2 /mnt/var/cache
$ sudo arch-chroot /mnt
# df -H
1 Like
[liveuser@eos-2022.08.28 ~]$ sudo umount /mnt
umount: /mnt: not mounted.
[liveuser@eos-2022.08.28 ~]$ sudo mount -o subvol=@ /dev/nvme0n1p2 /mnt
[liveuser@eos-2022.08.28 ~]$ sudo mount /dev/nvme0n1p1 /mnt/efi
[liveuser@eos-2022.08.28 ~]$ sudo mount -o subvol=@log /dev/nvme0n1p2 /mnt/var/log
[liveuser@eos-2022.08.28 ~]$ sudo mount -o subvol=@cache /dev/nvme0n1p2 /mnt/var/cache
[liveuser@eos-2022.08.28 ~]$ sudo arch-chroot /mnt
[root@EndeavourOS /]# df -H
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p2  256G   65G  184G  27% /
/dev/nvme0n1p1  314M  290M   25M  93% /efi
/dev/nvme0n1p2  256G   65G  184G  27% /var/log
/dev/nvme0n1p2  256G   65G  184G  27% /var/cache
udev             11G     0   11G   0% /dev
shm              11G     0   11G   0% /dev/shm
run              11G     0   11G   0% /run
tmp              11G     0   11G   0% /tmp
airootfs         11G   81M   11G   1% /etc/resolv.conf
[root@EndeavourOS /]# 

It looks like it’s full

Show us:

# ls -al /efi/

You can remove some unused initramfs, then run reinstall-kernels.

Idea: you can disable initramfs-fallback

1 Like

[liveuser@eos-2022.08.28 ~]$ ls -al /efi/
ls: cannot access ‘/efi/’: No such file or directory
[liveuser@eos-2022.08.28 ~]$ sudo ls -al /efi/
ls: cannot access ‘/efi/’: No such file or directory
[liveuser@eos-2022.08.28 ~]$

Would it be better/possible to increase the EFI partition size?

You are in live system, you need to chroot to your system and run # ls -al /efi/.

[liveuser@eos-2022.08.28 ~]$ sudo arch-chroot /mnt
[root@EndeavourOS /]# ls -al /efi/
total 16
drwxr-xr-x 5 root root 4096 Jan  1  1970 .
drwxr-xr-x 1 root root  148 Mar 26 10:17 ..
drwxr-xr-x 6 root root 4096 Mar 26 13:29 a9d690a5d1c144ee81cbb0b9de665c13
drwxr-xr-x 7 root root 4096 Dec 28 09:24 EFI
drwxr-xr-x 3 root root 4096 Mar 26 13:34 loader
[root@EndeavourOS /]# 

Please accept my apologies for being that illiterate!

Then show us:
# ls -al a9d690a5d1c144ee81cbb0b9de665c13

[root@EndeavourOS /]# ls -al a9d690a5d1c144ee81cbb0b9de665c13
ls: cannot access 'a9d690a5d1c144ee81cbb0b9de665c13': No such file or directory
[root@EndeavourOS /]# 

I see it is getting really challenging (and started to be interesting)

# ls -al efi/a9d690a5d1c144ee81cbb0b9de665c13

[root@EndeavourOS /]# ls -al efi/a9d690a5d1c144ee81cbb0b9de665c13
total 24
drwxr-xr-x 6 root root 4096 Mar 26 13:29 .
drwxr-xr-x 5 root root 4096 Jan  1  1970 ..
drwxr-xr-x 2 root root 4096 Mar 26 13:31 6.1.20-1-lts
drwxr-xr-x 2 root root 4096 Mar 23 09:40 6.1.21-1-lts
drwxr-xr-x 2 root root 4096 Mar 26 13:30 6.2.6-arch1-1
drwxr-xr-x 2 root root 4096 Mar 24 11:06 6.2.8-arch1-1
[root@EndeavourOS /]# 

Okay, you have 4 kernel versions.
If you want to use LTS only, then remove all kernels and install LTS

# rm -rf efi/a9d690a5d1c144ee81cbb0b9de665c13
# pacman -R linux
# pacman -S linux-lts
# ls -al efi/a9d690a5d1c144ee81cbb0b9de665c13
2 Likes

Done!
I mainly use LTS, I was just keeping Arch as a backup just in case.

[root@EndeavourOS /]#  rm -rf efi/a9d690a5d1c144ee81cbb0b9de665c13
[root@EndeavourOS /]# pacman -R linux
checking dependencies...
:: base optionally requires linux: bare metal support

Package (1)  Old Version    Net Change 

linux        6.2.6.arch1-1  -174.17 MiB

Total Removed Size:  174.17 MiB

:: Do you want to remove these packages? [Y/n] 
:: Running pre-transaction hooks...
(1/2) Performing snapper pre snapshots for the following configurations...
==> root: 5534
(2/2) Removing kernel...
:: Running kernel-install for kernel 6.2.6-arch1-1
Running in a chroot, skipping cmdline generation
:: Processing package changes...
(1/1) removing linux                                         [--------------------------------] 100%
:: Running post-transaction hooks...
(1/3) Arming ConditionNeedsUpdate...
(2/3) Updating module dependencies...
(3/3) Performing snapper post snapshots for the following configurations...
==> root: 5535
[root@EndeavourOS /]# pacman -S linux-lts
warning: linux-lts-6.1.20-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Package (1)     Old Version  New Version  Net Change

core/linux-lts  6.1.20-1     6.1.20-1       0.00 MiB

Total Installed Size:  164.03 MiB
Net Upgrade Size:        0.00 MiB

:: Proceed with installation? [Y/n] 
(1/1) checking keys in keyring                               [--------------------------------] 100%
(1/1) checking package integrity                             [--------------------------------] 100%
(1/1) loading package files                                  [--------------------------------] 100%
(1/1) checking for file conflicts                            [--------------------------------] 100%
:: Running pre-transaction hooks...
(1/1) Performing snapper pre snapshots for the following configurations...
==> root: 5536
:: Processing package changes...
(1/1) reinstalling linux-lts                                 [--------------------------------] 100%
:: Running post-transaction hooks...
(1/6) Arming ConditionNeedsUpdate...
(2/6) Updating module dependencies...
(3/6) Running kernel-install...
:: Running kernel-install for kernel 6.1.20-1-lts
dracut: Executing: /usr/bin/dracut --hostonly --no-hostonly-cmdline -f /efi/a9d690a5d1c144ee81cbb0b9de665c13/6.1.20-1-lts/initrd 6.1.20-1-lts
dracut: dracut module 'dash' will not be installed, because command 'dash' could not be found!
dracut: dracut module 'mksh' will not be installed, because command 'mksh' could not be found!
dracut: dracut module 'busybox' will not be installed, because command 'busybox' could not be found!
dracut: dracut module 'dbus-broker' will not be installed, because command 'dbus-broker' could not be found!
dracut: dracut module 'rngd' will not be installed, because command 'rngd' could not be found!
dracut: dracut module 'network-wicked' will not be installed, because command 'wicked' could not be found!
dracut: dracut module 'dmraid' will not be installed, because command 'kpartx' could not be found!
dracut: dracut module 'tpm2-tss' will not be installed, because command 'tpm2' could not be found!
dracut: dracut module 'iscsi' will not be installed, because command 'iscsi-iname' could not be found!
dracut: dracut module 'iscsi' will not be installed, because command 'iscsiadm' could not be found!
dracut: dracut module 'iscsi' will not be installed, because command 'iscsid' could not be found!
dracut: dracut module 'nvmf' will not be installed, because command 'nvme' could not be found!
dracut: dracut module 'biosdevname' will not be installed, because command 'biosdevname' could not be found!
dracut: dracut module 'memstrack' will not be installed, because command 'memstrack' could not be found!
dracut: memstrack is not available
dracut: If you need to use rd.memdebug>=4, please install memstrack and procps-ng
dracut: dracut module 'squash' will not be installed, because command 'mksquashfs' could not be found!
dracut: dracut module 'squash' will not be installed, because command 'unsquashfs' could not be found!
dracut: dracut module 'dash' will not be installed, because command 'dash' could not be found!
dracut: dracut module 'mksh' will not be installed, because command 'mksh' could not be found!
dracut: dracut module 'busybox' will not be installed, because command 'busybox' could not be found!
dracut: dracut module 'dbus-broker' will not be installed, because command 'dbus-broker' could not be found!
dracut: dracut module 'rngd' will not be installed, because command 'rngd' could not be found!
dracut: dracut module 'network-wicked' will not be installed, because command 'wicked' could not be found!
dracut: dracut module 'dmraid' will not be installed, because command 'kpartx' could not be found!
dracut: dracut module 'tpm2-tss' will not be installed, because command 'tpm2' could not be found!
dracut: dracut module 'iscsi' will not be installed, because command 'iscsi-iname' could not be found!
dracut: dracut module 'iscsi' will not be installed, because command 'iscsiadm' could not be found!
dracut: dracut module 'iscsi' will not be installed, because command 'iscsid' could not be found!
dracut: dracut module 'nvmf' will not be installed, because command 'nvme' could not be found!
dracut: dracut module 'memstrack' will not be installed, because command 'memstrack' could not be found!
dracut: memstrack is not available
dracut: If you need to use rd.memdebug>=4, please install memstrack and procps-ng
dracut: dracut module 'squash' will not be installed, because command 'mksquashfs' could not be found!
dracut: dracut module 'squash' will not be installed, because command 'unsquashfs' could not be found!
dracut: *** Including module: systemd ***
dracut: *** Including module: systemd-initrd ***
dracut: *** Including module: i18n ***
dracut: *** Including module: btrfs ***
dracut: *** Including module: kernel-modules ***
dracut: *** Including module: kernel-modules-extra ***
dracut: *** Including module: rootfs-block ***
dracut: *** Including module: terminfo ***
dracut: *** Including module: udev-rules ***
dracut: Skipping udev rule: 40-redhat.rules
dracut: Skipping udev rule: 50-firmware.rules
dracut: Skipping udev rule: 50-udev.rules
dracut: Skipping udev rule: 91-permissions.rules
dracut: Skipping udev rule: 80-drivers-modprobe.rules
dracut: Skipping udev rule: 70-persistent-net.rules
dracut: *** Including module: dracut-systemd ***
dracut: *** Including module: usrmount ***
dracut: *** Including module: base ***
dracut: *** Including module: fs-lib ***
dracut: *** Including module: shutdown ***
dracut: *** Including modules done ***
dracut: *** Installing kernel module dependencies ***
dracut: *** Installing kernel module dependencies done ***
dracut: *** Resolving executable dependencies ***
dracut: *** Resolving executable dependencies done ***
dracut: *** Hardlinking files ***
dracut: Mode:                     real
dracut: Method:                   sha256
dracut: Files:                    766
dracut: Linked:                   1 files
dracut: Compared:                 0 xattrs
dracut: Compared:                 45 files
dracut: Saved:                    692 B
dracut: Duration:                 0.003206 seconds
dracut: *** Hardlinking files done ***
dracut: *** Generating early-microcode cpio image ***
dracut: *** Using microcode found in '/boot/intel-ucode.img' ***
dracut: *** Store current command line parameters ***
dracut: *** Stripping files ***
dracut: *** Stripping files done ***
dracut: *** Creating image file '/efi/a9d690a5d1c144ee81cbb0b9de665c13/6.1.20-1-lts/initrd' ***
dracut: dracut: using auto-determined compression method 'gzip'
dracut: *** Creating initramfs image file '/efi/a9d690a5d1c144ee81cbb0b9de665c13/6.1.20-1-lts/initrd' done ***
dracut: Executing: /usr/bin/dracut --no-hostonly --force /efi/a9d690a5d1c144ee81cbb0b9de665c13/6.1.20-1-lts/initrd-fallback 6.1.20-1-lts
dracut: dracut module 'dash' will not be installed, because command 'dash' could not be found!
dracut: dracut module 'mksh' will not be installed, because command 'mksh' could not be found!
dracut: dracut module 'busybox' will not be installed, because command 'busybox' could not be found!
dracut: dracut module 'dbus-broker' will not be installed, because command 'dbus-broker' could not be found!
dracut: dracut module 'rngd' will not be installed, because command 'rngd' could not be found!
dracut: dracut module 'network-wicked' will not be installed, because command 'wicked' could not be found!
dracut: dracut module 'dmraid' will not be installed, because command 'kpartx' could not be found!
dracut: dracut module 'multipath' will not be installed, because command 'multipath' could not be found!
dracut: dracut module 'tpm2-tss' will not be installed, because command 'tpm2' could not be found!
dracut: dracut module 'fcoe' will not be installed, because command 'dcbtool' could not be found!
dracut: dracut module 'fcoe' will not be installed, because command 'fipvlan' could not be found!
dracut: dracut module 'fcoe' will not be installed, because command 'lldpad' could not be found!
dracut: dracut module 'fcoe' will not be installed, because command 'fcoemon' could not be found!
dracut: dracut module 'fcoe' will not be installed, because command 'fcoeadm' could not be found!
dracut: dracut module 'fcoe-uefi' will not be installed, because command 'dcbtool' could not be found!
dracut: dracut module 'fcoe-uefi' will not be installed, because command 'fipvlan' could not be found!
dracut: dracut module 'fcoe-uefi' will not be installed, because command 'lldpad' could not be found!
dracut: dracut module 'iscsi' will not be installed, because command 'iscsi-iname' could not be found!
dracut: dracut module 'iscsi' will not be installed, because command 'iscsiadm' could not be found!
dracut: dracut module 'iscsi' will not be installed, because command 'iscsid' could not be found!
dracut: dracut module 'nvmf' will not be installed, because command 'nvme' could not be found!
dracut: dracut module 'biosdevname' will not be installed, because command 'biosdevname' could not be found!
dracut: dracut module 'memstrack' will not be installed, because command 'memstrack' could not be found!
dracut: memstrack is not available
dracut: If you need to use rd.memdebug>=4, please install memstrack and procps-ng
dracut: dracut module 'squash' will not be installed, because command 'mksquashfs' could not be found!
dracut: dracut module 'squash' will not be installed, because command 'unsquashfs' could not be found!
dracut: *** Including module: bash ***
dracut: *** Including module: systemd ***
dracut: *** Including module: systemd-initrd ***
dracut: *** Including module: modsign ***
dracut: *** Including module: dbus-daemon ***
dracut: *** Including module: dbus ***
dracut: *** Including module: i18n ***
dracut: *** Including module: network-manager ***
dracut: *** Including module: network ***
dracut: *** Including module: btrfs ***
dracut: *** Including module: crypt ***
dracut: *** Including module: dm ***
dracut: Skipping udev rule: 64-device-mapper.rules
dracut: Skipping udev rule: 60-persistent-storage-dm.rules
dracut: Skipping udev rule: 55-dm.rules
dracut: *** Including module: kernel-modules ***
dracut: *** Including module: kernel-modules-extra ***
dracut: *** Including module: kernel-network-modules ***
dracut: *** Including module: lvm ***
dracut: Skipping udev rule: 64-device-mapper.rules
dracut: Skipping udev rule: 56-lvm.rules
dracut: Skipping udev rule: 60-persistent-storage-lvm.rules
dracut: *** Including module: mdraid ***
dracut: Skipping udev rule: 64-md-raid.rules
dracut: *** Including module: nvdimm ***
dracut: *** Including module: qemu ***
dracut: *** Including module: qemu-net ***
dracut: *** Including module: cifs ***
dracut: *** Including module: lunmask ***
dracut: *** Including module: nbd ***
dracut: *** Including module: nfs ***
dracut: *** Including module: resume ***
dracut: *** Including module: rootfs-block ***
dracut: *** Including module: terminfo ***
dracut: *** Including module: udev-rules ***
dracut: Skipping udev rule: 40-redhat.rules
dracut: Skipping udev rule: 50-firmware.rules
dracut: Skipping udev rule: 50-udev.rules
dracut: Skipping udev rule: 91-permissions.rules
dracut: Skipping udev rule: 80-drivers-modprobe.rules
dracut: *** Including module: dracut-systemd ***
dracut: *** Including module: usrmount ***
dracut: *** Including module: base ***
dracut: *** Including module: fs-lib ***
dracut: *** Including module: shutdown ***
dracut: *** Including modules done ***
dracut: *** Installing kernel module dependencies ***
dracut: *** Installing kernel module dependencies done ***
dracut: *** Resolving executable dependencies ***
dracut: *** Resolving executable dependencies done ***
dracut: *** Hardlinking files ***
dracut: Mode:                     real
dracut: Method:                   sha256
dracut: Files:                    2476
dracut: Linked:                   9 files
dracut: Compared:                 0 xattrs
dracut: Compared:                 464 files
dracut: Saved:                    1.42 MiB
dracut: Duration:                 0.022203 seconds
dracut: *** Hardlinking files done ***
dracut: *** Generating early-microcode cpio image ***
dracut: *** Constructing AuthenticAMD.bin ***
dracut: *** Using microcode found in '/boot/intel-ucode.img' ***
dracut: *** Store current command line parameters ***
dracut: *** Stripping files ***
dracut: *** Stripping files done ***
dracut: *** Creating image file '/efi/a9d690a5d1c144ee81cbb0b9de665c13/6.1.20-1-lts/initrd-fallback' ***
dracut: dracut: using auto-determined compression method 'gzip'
dracut: *** Creating initramfs image file '/efi/a9d690a5d1c144ee81cbb0b9de665c13/6.1.20-1-lts/initrd-fallback' done ***
Running in a chroot, skipping cmdline generation
(4/6) Check if user should be informed about rebooting after certain system package upgrades.
(5/6) Checking which packages need to be rebuilt
(6/6) Performing snapper post snapshots for the following configurations...
==> root: 5537
[root@EndeavourOS /]# ls -al efi/a9d690a5d1c144ee81cbb0b9de665c13
total 12
drwxr-xr-x 3 root root 4096 Mar 26 15:07 .
drwxr-xr-x 5 root root 4096 Jan  1  1970 ..
drwxr-xr-x 2 root root 4096 Mar 26 15:07 6.1.20-1-lts
[root@EndeavourOS /]# 


Then try to reboot

:pray: :tada: :partying_face: :heart_eyes:
As amazing as usual community! I am back, alive and kicking.
I do not know how or how much I should thank you @Zesko for the wonderful. kind and generous support!

1 Like

What just happened just brought some questions to my mind:
1- on BTRFS + systemd-boot, there is no point to use snapper and BTRFS Assistant as they won’t work!?
2- Can I still use snapper and BTRFS Assistant as I thought I could?
3- was the full EFI partition the reason that I encounters this issue in the first place not the restore I did?
4- Just in case can I increase the size of the EFI partition?
5- Do I need Arch as a backup really?
Sorry if theses questions are off topic but I believe it is related somehow to the issue I had, and the questions came up from it and from what @Zesko guided me to do.
I will appreciate feed back.