You are not logged in.
I recently updated my Arch Linux desktop (previous update was a month or two earlier), and I have not been able to boot into my installation since then. I see an error on the console that says in part:
[FAILED] Failed to mount /boot.
[DEPEND] Dependency failed for Local File Systems.I am able to boot through an Arch Install USB disk. I tried things that have worked in the past when I have been in a similar situation:
Grub install and mkconfig
Reinstall the linux-lts kernel I use
fsck the /boot partition
I am not sure what else to try now. Should I install a different bootloader when using chroot? Other ideas?
Here are some possibly helpful details from my system:
# file /boot/vmlinuz-linux-lts
/boot/vmlinuz-linux-lts: Linux kernel x86 boot executable, bzImage, version 6.18.44-1-lts (linux-lts@archlinux) #1 SMP PREEMPT_DYNAMIC Tue, 11 Aug 2026 21:10:19 +0000, RO-rootFS, Normal VGA, setup size 512*39, syssize 0xfa820, jump 0x26c 0x8cd88ec0fc8cd239 instruction, protocol 2.15, from protected-mode code at offset 0x2cc 0xf6cb97 bytes ZST compressed, relocatable, handover offset 0xf9b3a0, legacy 64-bit entry point, can be above 4G, 32-bit EFI handoff entry point, 64-bit EFI handoff entry point, EFI kexec boot support, xloadflags bit 5, max cmdline size 2047, init_size 0x4265000
# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
loop0 squashfs 4.0
sda
|-sda1 zfs_member 5000 rust 4912926660258094496
`-sda9
sdb
|-sdb1 zfs_member 5000 rust 4912926660258094496
`-sdb9
sdc
|-sdc1 zfs_member 5000 rust 4912926660258094496
`-sdc9
sdd
|-sdd1 zfs_member 5000 rust 4912926660258094496
`-sdd9
sde
|-sde1 exfat 1.0 Ventoy 4F9E-CCB4
| `-ventoy iso9660 Joliet Extension ARCH_202608 2026-08-01-14-10-23-00
`-sde2 vfat FAT16 VTOYEFI 223C-F3F8
sdf
sdg
`-sdg1 vfat FAT32 POPMUSIC 7FE8-1C21 24.6G 14% /mnt/bk-sandisk
sr0
nvme0n1
|-nvme0n1p1 vfat FAT32 E328-E0C2 848.7M 17% /boot
|-nvme0n1p2 zfs_member 5000
|-nvme0n1p3 zfs_member 5000 rust 4912926660258094496
|-nvme0n1p4 swap 1 013baac7-cde6-41b6-9a7e-4cf5597e09e8
`-nvme0n1p5 ext4 1.0 5dd1d54b-b61e-4d18-8a53-0e0e1dfea7cb 534.5G 16% /
# cat /etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.
# <file system> <dir> <type> <options> <dump> <pass>
# /dev/nvme0n1p5
UUID=5dd1d54b-b61e-4d18-8a53-0e0e1dfea7cb / ext4 rw,relatime 0 1
# /dev/nvme0n1p1
UUID=E328-E0C2 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2
# /dev/nvme0n1p4
UUID=013baac7-cde6-41b6-9a7e-4cf5597e09e8 none swap defaults 0 0
rust/home /home zfs rw,xattr,posixacl,noauto 0 0
# grep -A 15 "menuentry 'Arch" grub.cfg
menuentry 'Arch Linux, with Linux linux-lts' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-lts-advanced-5dd1d54b-b61e-4d18-8a53-0e0e1dfea7cb' {
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
search --no-floppy --fs-uuid --set=root E328-E0C2
echo 'Loading Linux linux-lts ...'
linux /vmlinuz-linux-lts root=UUID=5dd1d54b-b61e-4d18-8a53-0e0e1dfea7cb rw loglevel=3 quiet ipv6.disable=1 nvidia_drm.modeset=1
echo 'Loading initial ramdisk ...'
initrd /intel-ucode.img /initramfs-linux-lts.img
}Last edited by bjcubsfan (2026-08-19 21:08:18)
Offline
cat /proc/cmdlineDoes that say "BOOT_IMAGE=/vmlinuz-linux-lts" or "BOOT_IMAGE=/boot/vmlinuz-linux-lts" ?
In case of the latter you're booting from the root partition but install the kernel into the mounted /boot partition and as result booting and installed kernel fall apart, meaning you've no vfat module to then mount the /boot partition on the new kernel.
Mount /mnt/boot, arch-chroot into the system and re-install and re-configure grub.
After the reboot check /proc/cmdline whether it worked, update the system and if you can not properly boot into the new kernel clean up the /boot mountpoint (unmount /boot and delete the files that exist in /boot on the root partition) - this isn't strictly necessary but will prevent future confusion.
If that's not it:
that says in part:
The reason for the failure is typically logged as well - in doubt link a photo of your monitor.
Offline
I can only get a usable prompt when I boot from the Arch Linux installation disk. So when I ran "cat /proc/cmdline" it gave me information on the install media, which I don't think is helpful.
I tried the grub install again after mounting / & /boot and using "arch-chroot -S /mnt". I did this (used tmux to get output):
root@archiso ~ # lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
... snip ...
nvme0n1
├─nvme0n1p1 vfat FAT32 E328-E0C2
├─nvme0n1p2 zfs_member 5000
├─nvme0n1p3 zfs_member 5000 rust 4912926660258094496
├─nvme0n1p4 swap 1 013baac7-cde6-41b6-9a7e-4cf5597e09e8
└─nvme0n1p5 ext4 1.0 5dd1d54b-b61e-4d18-8a53-0e0e1dfea7cb
root@archiso ~ # mount /dev/nvme0n1p5 /mnt
root@archiso ~ # mount /dev/nvme0n1p1 /mnt/boot
root@archiso ~ # arch-chroot -S /mnt
Running as unit: arch-chroot-1397_mnt.service
Press ^] three times within 1s to disconnect TTY.
[root@archiso /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p5 677G 109G 535G 17% /
/dev/nvme0n1p1 1022M 174M 849M 17% /boot
run 31G 10M 31G 1% /run/udev
dev 31G 0 31G 0% /dev
tmpfs 31G 0 31G 0% /dev/shm
tmpfs 13G 0 13G 0% /run
efivarfs 512K 69K 439K 14% /sys/firmware/efi/efivars
tmpfs 6.2G 0 6.2G 0% /tmp
[root@archiso /]# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
Installing for x86_64-efi platform.
Installation finished. No error reported.
[root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux-lts
Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux-lts.img
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
doneWhen I rebooted, the same error came up. In full it reads (corrected phone camera OCR):
[FAILED] Failed to mount /boot.
[DEPEND] Dependency failed for Local File Sytstems.
You are in emergency mode. After logging in, type "journalctl -xb" to view
system logs, "systemctl reboot" to reboot, or "exit"
to continue bootup.
Cannot open access to console, the root account is locked.
See sulogin(8) man page for more details.
Press Enter to continueOffline
The relevant message would precede that snippet.
But the kernel commandline also shows up in journals, https://wiki.archlinux.org/title/System … al_to_view
You can also likely mount the system by commenting the /boot entry in the fstab, but would then run into similar issues w/ the zfs /home
Commenting that would still allow you to boot the system and on the console login as root - the big fat DEs won't like that your $HOME isn't available - see the 2nd link below.
You can then try to manually mount /boot and hopefully get a useful error.
Offline
I don't think it's getting far enough to log to the journal. The lines in the journal and the time stamp on the latest journal file both are timed when I rebooted the system after the update ("Aug 14 10:47") and not from today or yesterday when I am seeing the FAILED.
I commented out boot and home from "/etc/fstab". Something must be failing even very early because I get the same failed to mount "/boot" error. I can't figure out how to get into the emergency shell. I tried to reset the root password in chroot, but I still get the "root account is locked" message. I am going to turn off quiet and increase the loglevel for my GRUB_CMDLINE_LINUX_DEFAULT and reinstall/mkconfig with grub. This gives me a larger error messag! Here it is:
Booting initrd of Arch Linux.
Expecting device /dev/disk/by-uuid/013baac7-cde6-41b6-9a7e-4cf5597e09e8...
Expecting device /dev/disk/by-uuid/5dd1d54b-b61e-4d18-8a53-0e0eldfea7cb...
Expecting device /dev/disk/by-uuid/E328-E0C2...
[ OK ] Reached target Path Units.
[ OK ] Reached target Slice Units.
[ OK ] Reached target Timer Units.
[ OK ] Listening on Journal Socket (/dev/log).
[ OK ] Listening on Journal Sockets.
[ OK ] Listening on udev Control Socket.
[ OK ] Listening on udev Kernel Socket.
[ OK ] Reached target Socket Units.
Starting Create List of Static Device Nodes.
[ OK ] Started Display Boot-Time Emergency Messages In Full Screen.
Starting Journal Service...
Starting Load Kernel Modules...
Create Static Device Nodes in /dev...
Starting Coldplug All udev Devices...
[ OK ] Finished Create List of Static Device Nodes
[ OK ] Finished Create Static Device Nodes in /dev.
[ OK ] Reached target Preparation for Local File Sustems.
Starting Rule-based Manager for Device Events and Files.
[ OK ] Started Rule-based Manager for Device Events and Files.
[ OK ] Started Journal Service.
[ OK ] Finished Coldplug All udev Devices.
Starting Virtual Console Setup...
[ OK ] Finished Virtual Console Setup.
[ OK ] Finished Load Kernel Modules.
[ OK ] Found device SSDPEKKF010T8 NVMe INTEL 1024GB 1.
[ OK ] Found device SSDPEKKF010T8 NVMe INTEL 1024GB 5.
[ OK ] Found device SSDPEKKF010T8 NVMe INTEL 1024GB 4.
[ OK ] Reached target Initrd Root Device.
[ OK ] Activating swap /dev/disk/by-uuid/013baac7-cde6-41b6-9a7e-4cf5597e09e8...
Mounting /boot...
Starting File System Check on /dev/disk/by-uuid/5dd1d54b-b61e-4d18-8a53-0e@eldfea7cb...
[FAILED] Failed to mount /boot.
See 'systemctl status boot.mount' for details.
[DEPEND] Dependency failed for Local File Systems.
[ OK ] Started Emergency Shell.
[ OK ] Reached target Emergency Mode.
[ OK ] Reached target Initrd File Systems.
Starting Create System Files and Directories...
[ OK ] Activated swap /dev/disk/by-uuid/813baac7-cde6-4166-9a7e-4cf5597e89e8.
[ OK ] Finished File System Check on /dev/disk/bu-uuid/5ddid54b- d54b-b61e-4d18-8a53-0e0e1dfea7cb.
[ OK ] Finished Create System Files and Directories.
[ OK ] Reached target Swaps.
Mounting /sysroot...
[ OK ] Mounted /sysroot...
[ OK ] Reached target Initrd Root File System.
You are in emergency mode. After logging in, type "journalctl -xb" to view
sustem logs, "systemctl reboot" to reboot, or "exit"
to continue bootup.
Cannot open access to console, the root account is locked.
See sulogin(8) man page for more details.
Press Enter to continue.I booted back to the chroot and ran this:
# fsck /dev/nvme0n1p5
fsck from util-linux 2.42.2
e2fsck 1.47.4 (6-Mar-2025)
/dev/nvme0n1p5: clean, 725114/45146112 files, 3148112/180582656 blocks
# fsck /dev/nvme0n1p1
fsck from util-linux 2.42.2
fsck.fat 4.2 (2021-01-31)
/dev/nvme0n1p1: 399 files, 44352/261628 clustersStill not sure where to go from here.
Offline
The lines in the journal and the time stamp on the latest journal file both are timed when I rebooted the system
That's fine - we only need to inspect the older journals to know how exactly the system was/is setup.
Did you regenerate the initramfs after editing the fstab?
Offline
No, I didn't. You are right, it should not have mentioned the filesystems that I commented out.
I ran "minitcpio -P" under chroot.
The machine boots now and I can get to a tty. What data should I examine to figure out where the problem is?
Offline
uname -a
pacman -Qs kernel | grep 'local/linux'
cat /proc/cmdlineOffline
Thanks. Here is the output:
bpotter@dirty ~ % uname -a
Linux dirty 6.18.44-1-lts #1 SMP PREEMPT_DYNAMIC Tue, 11 Aug 2026 21:10:19 +0000 x86_64 GNU/Linux
bpotter@dirty ~ % pacman -Qs kernel | grep 'local/linux'
local/linux-api-headers 7.1-1
local/linux-lts 6.18.44-1
local/linux-lts-headers 6.18.44-1
bpotter@dirty ~ % cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-linux-lts root=UUID=5dd1d54b-b61e-4d18-8a53-0e0e1dfea7cb rw loglevel=4 Offline
You're booting the correct kernel from a dedicated boot partition.
pacman -Qkk linux-lts
Can you now mount the boot or home partition?
Maybe you were just missing modules in the initramfs.
Offline
The check did not show any issues:
# pacman -Qkk linux-lts
linux-lts: 7646 total files, 0 altered filesI put the "/etc/fstab" back to the way it was, ran "mkinitcpio -P" again and rebooted. It was right back to the same "Failed to mount /boot" error.
I commented out "/boot" in the fstab, rebooted and got back to the tty without /boot or /home.
I can mount /boot in this state, but I am having trouble with home. . . I don't think that's worth running down. It's likely some issue with my encrypted ZFS, but I can solve that after I can boot normally.
What should I look at now?
Offline
sudo lsinitcpio /boot/initramfs-linux-lts.img | grep vfatI suppose the module doesn't make it into the initramfs?
=> https://wiki.archlinux.org/title/Mkinitcpio#MODULES
Offline
You are correct!
I updated my MODULES in /etc/mkinitcpio.conf to:
MODULES=(zfs vfat)I ran "mkinitcpio -P" again, and I am now able to boot. The zfs partition is still failing, but hopefully I will be able to figure it out.
Thanks for the help!
Offline
IIRC zfs root partitions don't work w/ the systemd hooks, https://wiki.archlinux.org/title/Mkinitcpio#Hook_list
I'm not sure why any of this is mounted in the initramfs but I suppose you'll run into that problem if the /home partition is attempted to be mounted zfs from there
=> You could try to switch (back) to the busybox hooks.
Offline