Failed to mount /boot. Dependency failed for Local File System

I updated my system and while doing this, it also updated the kernel. After a reboot my system won’t boot anymore. It can mount my storage volume fine, but not mounting the /boot volume. I am using the btrfs data system.

I mounted my storage device with a live linux from a usb deivce.
I checked my fstab file. In there I cannot see anything wrong there, for you to look it up:
Thelsblk -foutput:

nvme1n1                                                                                       
├─nvme1n1p1 vfat        FAT32             08AC-4CF7                               723M    28% /mnt/boot
└─nvme1n1p2 btrfs             endeavouros 9acd35c1-a4ce-434b-a97e-ad05f1953ad7  748.4G    20% /mnt/var/cache
                                                                                              /mnt/var/log
                                                                                              /mnt/home
                                                                                              /mnt
# /dev/nvme1n1p2 LABEL=endeavouros
UUID=9acd35c1-a4ce-434b-a97e-ad05f1953ad7	/         	btrfs     	rw,relatime,ssd,discard=async,space_cache=v2,subvolid=256,subvol=/@	0 0

# /dev/nvme1n1p2 LABEL=endeavouros
UUID=9acd35c1-a4ce-434b-a97e-ad05f1953ad7	/home     	btrfs     	rw,relatime,ssd,discard=async,space_cache=v2,subvolid=257,subvol=/@home	0 0

# /dev/nvme1n1p2 LABEL=endeavouros
UUID=9acd35c1-a4ce-434b-a97e-ad05f1953ad7	/var/log  	btrfs     	rw,relatime,ssd,discard=async,space_cache=v2,subvolid=259,subvol=/@log	0 0

# /dev/nvme1n1p2 LABEL=endeavouros
UUID=9acd35c1-a4ce-434b-a97e-ad05f1953ad7	/var/cache	btrfs     	rw,relatime,ssd,discard=async,space_cache=v2,subvolid=258,subvol=/@cache	0 0

# /dev/nvme1n1p1
UUID=08AC-4CF7      	/boot     	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro0 2

The output of pacman -Qs linux:

local/alsa-lib 1.2.10-2
    An alternative implementation of Linux sound support
local/alsa-utils 1.2.10-1
    Advanced Linux Sound Architecture - Utilities
local/apparmor 3.1.6-2
    Mandatory Access Control (MAC) using Linux Security Module (LSM)
local/archlinux-keyring 20231012-1
    Arch Linux PGP keyring
local/avahi 1:0.8+r139+ge5b0bad-1
    Service Discovery for Linux using mDNS/DNS-SD (compatible with Bonjour)
local/base 3-2
    Minimal package set to define a basic Arch Linux installation
local/base-devel 1-1
    Basic tools to build Arch Linux packages
local/brltty 6.6-2
    Braille display driver for Linux/Unix
local/cinnamon 5.8.4-2
    Linux desktop which provides advanced innovative features and a traditional user experience
local/efibootmgr 18-2
    Linux user-space application to modify the EFI Boot Manager
local/ell 0.59-1
    Embedded Linux library
local/eos-qogir-icons 5-1
    A colorful design icon theme for linux desktops
local/exfatprogs 1.2.1-1
    exFAT filesystem userspace utilities for the Linux Kernel exfat driver
local/filesystem 2023.09.18-1
    Base Arch Linux files
local/fuse3 3.16.1-1
    Interface for userspace programs to export a filesystem to the Linux kernel
local/hdparm 9.65-1
    A shell utility for manipulating Linux IDE drive/driver parameters
local/iptables-nft 1:1.8.9-1
    Linux kernel packet control tool (using nft interface)
local/keyutils 1.6.3-2
    Linux Key Management Utilities
local/kmod 31-1
    Linux kernel module management tools and library
local/lib32-alsa-lib 1.2.10-2
    An alternative implementation of Linux sound support (32 bit)
local/lib32-keyutils 1.6.3-1
    Linux Key Management Utilities (32-bit)
local/lib32-libxshmfence 1.3.2-1
    a library that exposes a event API on top of Linux futexes (32-bit)
local/lib32-util-linux 2.39.2-1
    Miscellaneous system utilities for Linux (32-bit)
local/libaio 0.3.113-2
    The Linux-native asynchronous I/O facility (aio) library
local/libcamera 0.1.0-2
    A complex camera support library for Linux, Android, and ChromeOS
local/libcamera-ipa 0.1.0-2
    A complex camera support library for Linux, Android, and ChromeOS - signed IPA
local/libcap-ng 0.8.3-2
    A library for Linux that makes using posix capabilities easy
local/libiec61883 1.2.0-7
    A higher level API for streaming DV, MPEG-2 and audio over Linux IEEE 1394
local/libnvme 1.6-2
    C Library for NVM Express on Linux
local/libraw1394 2.1.2-3
    Provides an API to the Linux IEEE1394 (FireWire) driver
local/liburing 2.4-1
    Linux-native io_uring I/O access library
local/libva 2.20.0-1
    Video Acceleration (VA) API for Linux
local/libxshmfence 1.3.2-1
    a library that exposes a event API on top of Linux futexes
local/linux 6.5.7.arch1-1
    The Linux kernel and modules
local/linux-api-headers 6.4-1
    Kernel headers sanitized for use in userspace
local/linux-firmware 20230804.7be2766d-2
    Firmware files for Linux
local/linux-firmware-whence 20230804.7be2766d-2
    Firmware files for Linux - contains the WHENCE license file which documents the vendor license details
local/linux-headers 6.5.7.arch1-1
    Headers and scripts for building modules for the Linux kernel
local/linux-lts 6.1.57-1
    The LTS Linux kernel and modules
local/linux-lts-headers 6.1.57-1
    Headers and scripts for building modules for the LTS Linux kernel
local/man-pages 6.05.01-1
    Linux man pages
local/mdadm 4.2-2
    A tool for managing/monitoring Linux md device arrays, also known as Software RAID
local/net-tools 2.10-2
    Configuration tools for Linux networking
local/nvidia-lts 1:535.113.01-4
    NVIDIA drivers for linux-lts
local/pacman-mirrorlist 20231001-1
    Arch Linux mirror list for use by pacman
local/python-capng 0.8.3-2
    A library for Linux that makes using posix capabilities easy (Python bindings)
local/python-distro 1.8.0-3
    Linux OS platform information API
local/python-evdev 1.6.1-2
    Python bindings for the Linux input subsystem
local/python-pam 2.0.2-2
    Pure Python interface to the Pluggable Authentication Modules system on Linux
local/python-pyinotify 0.9.6-12
    Python module used for monitoring filesystems events on Linux platforms with inotify.
local/squashfs-tools 4.6.1-1
    Tools for squashfs, a highly compressed read-only filesystem for Linux
local/stoken 0.92-4
    RSA SecurID-compatible software token for Linux/UNIX systems
local/usb_modeswitch 2.6.1-3
    Activating switchable USB devices on Linux.
local/util-linux 2.39.2-1
    Miscellaneous system utilities for Linux
local/util-linux-libs 2.39.2-1
    util-linux runtime libraries
local/v4l-utils 1.24.1-2
    Userspace tools and conversion library for Video 4 Linux

Also the uname -a output:

Linux EndeavourOS 6.4.8-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 03 Aug 2023 16:02:01 +0000 x86_64 GNU/Linux

Were you able to find a solution? I has the same issue, though it was my volume drive that failed to mount, and the boot drive was fine. It still would boot into emergency mode because of the failed secondary drive.

Is it possible that the new kernel damaged the hard drive? I really have no idea how to move forward.

No I did not find a solution yet. I am working on it when I do have free time or someone knows a fix.
When I was able to boot again, I post my procedure.

# /dev/nvme1n1p1
UUID=08AC-4CF7      	/boot     	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro0 2

Did you do an automatic “default” EnOS’ install?

In that case /boot is not the correct mountpoint for ESP (Efi System Partition).

The mountpoints used by EnOS are:

For Grub bootloader >> /boot/efi

For systemd boot manager: /efi

Yeah I did install EnOS on a fresh ssh and let the installer handle everything.

Ok I will try to modify my fstab settings.

Have a nice day, everyone!
I have basically the same problem as the thread opener. Differences: LUKS-protected ext4 instead of his btrfs, SATA SSD instead of NVMe.

My EndeavourOS with linux-zen kernel, GRUB and Plasma wanted to update ca. 185 or 135 packages (incl. kernels) via yay (not pacman -Syu or eos-update --yay), so I let yay do its work yesterday, about 1 or 2 weeks after the former system update. I did not do anything while that huge system update run yesterday. After completion, yay urged me to do a reboot. I made the mistake of complying.

Since then, EndeavourOS fails on the booting procedure step “mount boot/efi”. This is true for linux-zen and standard linux kernels as well as their respective “recovery” and “fallback initramfs” options. All of them declare vfat an

“unknown type of file system”.

Then I am hinted to run “systemctl status boot-efi.mount” and after that “dmesg(1)” (or similar), which only throws an error, while “dmesg” produces more terminal lines than the screen can cover. I did a few camera photos, if someone wants to read the error messages. Basically, it is

"boot-efi.mount: Failed with result ‘exit-code’ […] status=32/2a […] where: /boot/efi",
“File /var/log/journal/[…]/system.journal corrupted or uncleanly shut down, renaming and replacing”,
“unknown type of file system [vfat]”.

Important: The same (allegedly) faulty vfat/FAT32 esp boot partition still works for another Linux distribution on the same SSD – GRUBbing everything fine there. It is only EndeavourOS which complains about the “un-mountable” esp boot partition.

For about 15 hours altogether, I desperately tried to fix that problem, e. g. per EOS install USB drive, GParted partition check/repair, another partition manager’s repair function, manually copying maybe-necessary files to what I suppose could be the correct “/boot/*” or “boot/efi/*” path, and so much more. But I have not found a fix. I do not know how to (successfully) chroot, or whatever to do, as I am still quite newbie.

The affected PC is not my machine. That EndeavourOS partition working is essential. I have to fix it until Tuesday, 31.10.2023, because I will travel away on that evening. Then the PC owner will miss a working system. Please, help this pitiful Linux newbie fled away from the Windows darkworld.

Sincerely
Tako

First I would try booting up a system like Hirens Boot Cd and check the vfat structures there. from what it appears you did not get a clean unmount from the device.

Second you should not fix another Linux users machine but instead show them how to fix it.

Second you should not fix another Linux users machine but instead show them how to fix it.

The PC’s owner has not been able to broadly operate/control any MS Windows OS after ca. 12 years of steady private usage and some additional years of both occasional usage and teaching. Analogously, he cannot really handle an internet browser or internal HDD. At least 2 times in the last few months alone, he was overchallenged by plugging the video cables into graphics card (instead of mainboard’s dummy jacks – no iGPU!). On Saturday, he was neither able to select the correct OS (he had used for some months!) in GRUB list nor recognizing having booted the wrong OS.
…I think you get the point.

Clamantly, nobody on this forum has yet guided me to a solution to above problem (or the thread opener @XaniXxable or @mruby for that matter). So how could I show the PC’s owner how to do?

First I would try booting up a system like Hirens Boot Cd and check the vfat structures there. from what it appears you did not get a clean unmount from the device.

Thank you very much! I will try Hirens Boot Cd as soon as possible.
For your recommendation, did you pay attention to the fact the very same esp stills GRUBs and boots the secondary Linux partition sda3 on the same SSD fine? (Side note: sda3 is Ubuntu- and systemd-based.)

Hello, I have the same issue. This problem appear every time I update the linux-kernel and linux-header to the version 6.6.x. The 6.5.9 is fine, so if you have this problem you can go in the emergency mode, which is run automaticly when the os can’t mount the disk and run the command “downgrad”.

You don’t need to boot on a live usb. Hope this help.