Can't mount /efi

HI EnOS Forum!!

After updating just now to kernel 6.4.3 (coming from 6.4.1) I got the message can’t mount /efi

After looking in the forum I read that I had to chroot in my system and possibly remove all extra entries in /efi/loader/entries and then run the command reinstall-kernels.
In /efi/loader/entries there was only an entry for kernel 6.4.1 which I removed an after that I ran reinstall-kernels which generated a new entry.

After exiting chroot and rerbooting I got the following message:

failed to start file system check on /dev/disk/by-uuid/dca1…
dependency failed for /sysroot
dependency failed for Initrd Root File System
dependency failed for Mountpoints Configured in the Real Root

and it dumped me in a emergency shell after which I chrooted again an I ran pacman -S linux linux-headers here is the output:

[root@EndeavourOS:/]# sudo pacman -S linux linux-headers
warning: linux-6.4.3.arch1-1 is up to date -- reinstalling
warning: linux-headers-6.4.3.arch1-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Package (2)         Old Version    New Version    Net Change  Download Size

core/linux          6.4.3.arch1-1  6.4.3.arch1-1    0.00 MiB     125.41 MiB
core/linux-headers  6.4.3.arch1-1  6.4.3.arch1-1    0.00 MiB      29.38 MiB

Total Download Size:   154.79 MiB
Total Installed Size:  284.98 MiB
Net Upgrade Size:        0.00 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 linux-headers-6.4.3.arch1-1-x86_64                                  29.4 MiB  5.08 MiB/s 00:06 [--------------------------------------------------------] 100%
 linux-6.4.3.arch1-1-x86_64                                         125.4 MiB  4.89 MiB/s 00:26 [--------------------------------------------------------] 100%
 Total (2/2)                                                        154.8 MiB  6.03 MiB/s 00:26 [--------------------------------------------------------] 100%
(2/2) checking keys in keyring                                                                  [--------------------------------------------------------] 100%
(2/2) checking package integrity                                                                [--------------------------------------------------------] 100%
(2/2) loading package files                                                                     [--------------------------------------------------------] 100%
(2/2) checking for file conflicts                                                               [--------------------------------------------------------] 100%
:: Running pre-transaction hooks...
(1/1) Remove upgraded DKMS modules
==> dkms remove --no-depmod nvidia/535.54.03 -k 6.4.3-arch1-1
:: Processing package changes...
(1/2) reinstalling linux                                                                        [--------------------------------------------------------] 100%
(2/2) reinstalling linux-headers                                                                [--------------------------------------------------------] 100%
:: Running post-transaction hooks...
(1/6) Arming ConditionNeedsUpdate...
(2/6) Updating module dependencies...
(3/6) Install DKMS modules
==> dkms install --no-depmod nvidia/535.54.03 -k 6.4.3-arch1-1
==> depmod 6.4.3-arch1-1
(4/6) Running kernel-install...
:: Running kernel-install for kernel 6.4.3-arch1-1
Running in a chroot, skipping cmdline generation
(5/6) Check if user should be informed about rebooting after certain system package upgrades.
/usr/bin/id: ‘’: no such user
su: user  does not exist or the user entry does not contain all the required fields
(6/6) Checking which packages need to be rebuilt
fatal library error, lookup self

How do I proceed??

Those errors don’t mean anything important in this case. However, something is wrong.

Can you share the output of pacman -Q | grep -E (dracut|mkinitcpio)

So reboot and hope everything is fixed?

No. Your boot images aren’t getting built.

It is likely you have removed an important package.

Please run the command I provided above.

root@EndeavourOS:/efi/loader/entries]# pacman -Q | grep -E (dracut|mkinitcpio)
bash: syntax error near unexpected token `('

Eh, bash.

Try this:

pacman -Q | grep -E "(dracut|mkinitcpio)"
[root@EndeavourOS:/efi/loader/entries]# pacman -Q | grep -E "(dracut|mkinitcpio)"
dracut 059-2
kernel-install-for-dracut 1.7-5

OK, perhaps it worked and you enabled the quiet flag for dracut.

Try rebooting.

okay…here it goes.

No dice got the same message:

failed to start file system check on /dev/disk/by-uuid/dca1…
dependency failed for /sysroot
dependency failed for Initrd Root File System
dependency failed for Mountpoints Configured in the Real Root

Are you properly mounting the EFI partition in the chroot?

If it isn’t that, it is possible that your EFI system is corrupt or marked dirty. Are you dual booting windows? If so, make sure that Fast Startup is disabled in Windows settings.

If it isn’t that either, try checking the filesystem on your EFI partition.

No windoze here just endeavouos.

I did:

[liveuser@eos-2022.12.17 ~]$ sudo fdisk -l
Disk /dev/nvme0n1: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: Samsung SSD 970 EVO Plus 500GB          
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 9CD4B8CD-0864-0347-98CE-25C2CEFF3497

Device           Start       End   Sectors   Size Type
/dev/nvme0n1p1    4096   1640447   1636352   799M EFI System
/dev/nvme0n1p2 1642496 976609279 974966784 464.9G Linux filesystem


Disk /dev/sdb: 29.53 GiB, 31708938240 bytes, 61931520 sectors
Disk model: USB Flash Drive 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5ab6cd03

Device     Boot   Start     End Sectors  Size Id Type
/dev/sdb1  *         64 3771391 3771328  1.8G  0 Empty
/dev/sdb2       3771392 3986431  215040  105M ef EFI (FAT-12/16/32)


Disk /dev/loop0: 1.69 GiB, 1819369472 bytes, 3553456 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
[liveuser@eos-2022.12.17 ~]$ sudo mount /dev/nvme0n1p2 /mnt
[liveuser@eos-2022.12.17 ~]$ sudo mount /dev/nvme0n1p1 /mnt/efi
[liveuser@eos-2022.12.17 ~]$ sudo arch-chroot /mnt
1 Like

Can you share the output of find /efi and ls /usr/lib/modules

Somehow the input doesn’t show in the terminal anymore

[root@EndeavourOS:~]# 
/efi
/efi/EFI
/efi/EFI/boot
/efi/EFI/boot/bootx64.efi
/efi/EFI/boot/fbx64.efi
/efi/EFI/boot/mmx64.efi
/efi/EFI/systemd
/efi/EFI/systemd/systemd-bootx64.efi
/efi/EFI/Linux
/efi/loader
/efi/loader/entries
/efi/loader/entries/a463d5e357b443a18f592fa89825f7ee-6.4.3-arch1-1.conf
/efi/loader/loader.conf
/efi/loader/random-seed
/efi/loader/entries.srel
/efi/a463d5e357b443a18f592fa89825f7ee
/efi/a463d5e357b443a18f592fa89825f7ee/6.4.1-arch2-1
/efi/a463d5e357b443a18f592fa89825f7ee/6.4.1-arch2-1/initrd
/efi/a463d5e357b443a18f592fa89825f7ee/6.4.1-arch2-1/linux
/efi/a463d5e357b443a18f592fa89825f7ee/6.4.3-arch1-1
/efi/a463d5e357b443a18f592fa89825f7ee/6.4.3-arch1-1/initrd
/efi/a463d5e357b443a18f592fa89825f7ee/6.4.3-arch1-1/linux
[root@EndeavourOS:~]# 

[root@EndeavourOS:~]#
 5.19.13-arch1-1  6.0.1-arch2-1  6.0.2-arch1-1  6.0.5-arch1-1  6.0.6-arch1-1  6.4.3-arch1-1
[root@EndeavourOS:~]#

You can delete these:

/efi/a463d5e357b443a18f592fa89825f7ee/6.4.1-arch2-1
/efi/a463d5e357b443a18f592fa89825f7ee/6.4.1-arch2-1/initrd
/efi/a463d5e357b443a18f592fa89825f7ee/6.4.1-arch2-1/linux

You could also try re-enabling the fallback image and booting that.

root@EndeavourOS:/]# fsck /dev/nvme0n1p1
fsck from util-linux 2.39.1
fsck.fat 4.2 (2021-01-31)
There are differences between boot sector and its backup.
This is mostly harmless. Differences: (offset:original/backup)
  65:01/00
1) Copy original to backup
2) Copy backup to original
3) No action
[123?q]? 3
Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
1) Remove dirty bit
2) No action
[12?q]? 1

*** Filesystem was changed ***
The changes have not yet been written, you can still choose to leave the
filesystem unmodified:
1) Write changes
2) Leave filesystem unchanged
[12?q]? 1
/dev/nvme0n1p1: 21 files, 59090/204139 clusters
[root@EndeavourOS:/]# 

I removed /efi/a463d5e357b443a18f592fa89825f7ee/6.4.1-arch2-1 and ran fsck. How again do I re-enable the fallback image? Been a while since I made those changes.

This was probably the issue. I would try rebooting.

1 Like

Here we go…

Again the same errors

failed to start file system check on /dev/disk/by-uuid/dca1…
dependency failed for /sysroot
dependency failed for Initrd Root File System
dependency failed for Mountpoints Configured in the Real Root

I’m getting worried now.

1 Like