Failed to start kernel modules - Failed to mount /boot/efi after an upgrade from stable to testing

Hi there.
To get some packages I decided to switch from stable branch to testing. It resulted in a big update including kernel.
After reboot, I’ve got the following output :

Failed to start Load Kernel Modules
Failed to mount /boot/EFI
Dependency failed for Local File systems

Trying to boot with another kernel is not helping.
I post in comments the outputs from a usb ISO.

manjaro is on a nvme disk
there is a windows install on a second ssd

$ inxi -Fza
System:
  Kernel: 5.15.25-1-MANJARO x86_64 bits: 64 compiler: gcc v: 11.2.0
    parameters: BOOT_IMAGE=/boot/vmlinuz-x86_64 lang=en_US keytable=us tz=UTC
    misobasedir=manjaro misolabel=MANJARO_XFCE_2124 quiet
    systemd.show_status=1 apparmor=1 security=apparmor driver=free
    nouveau.modeset=1 i915.modeset=1 radeon.modeset=1
  Desktop: Xfce 4.16.0 tk: Gtk 3.24.29 info: xfce4-panel wm: xfwm 4.16.1
    vt: 7 dm: LightDM 1.30.0 Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: Dell product: Precision 7520 v: N/A
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: Dell model: 0P1FNM v: A00 serial: <superuser required> UEFI: Dell
    v: 1.23.1 date: 12/15/2021
Battery:
  ID-1: BAT0 charge: 6.8 Wh (12.0%) condition: 56.7/72.0 Wh (78.7%)
    volts: 11.6 min: 11.1 model: LGC-LGC3.23 DELL 1V0PP81 type: Li-ion
    serial: <filter> status: Charging
CPU:
  Info: model: Intel Core i7-7820HQ bits: 64 type: MT MCP arch: Kaby Lake
    family: 6 model-id: 0x9E (158) stepping: 9 microcode: 0xEC
  Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
    L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB
    L3: 8 MiB desc: 1x8 MiB
  Speed (MHz): avg: 800 min/max: 800/3900 scaling: driver: intel_pstate
    governor: powersave cores: 1: 800 2: 800 3: 800 4: 800 5: 800 6: 800 7: 800
    8: 800 bogomips: 46419
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf
    mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: spec_store_bypass
    mitigation: Speculative Store Bypass disabled via prctl and seccomp
  Type: spectre_v1
    mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional,
    IBRS_FW, STIBP: conditional, RSB filling
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort mitigation: TSX disabled
Graphics:
  Device-1: NVIDIA GM107GLM [Quadro M1200 Mobile] vendor: Dell
    driver: nouveau v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 16 link-max:
    gen: 3 speed: 8 GT/s ports: active: eDP-1 empty: DP-1, DP-2, DP-3, VGA-1
    bus-ID: 01:00.0 chip-ID: 10de:13b6 class-ID: 0300
  Device-2: Realtek Integrated Webcam HD type: USB driver: uvcvideo
    bus-ID: 1-11:5 chip-ID: 0bda:568c class-ID: 0e02 serial: <filter>
  Display: x11 server: X.Org v: 1.21.1.3 compositor: xfwm v: 4.16.1 driver:
    X: loaded: modesetting alternate: fbdev,vesa gpu: nouveau display-ID: :0.0
    screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2")
    s-diag: 582mm (22.9")
  Monitor-1: eDP-1 model: Chi Mei Innolux built: 2016 res: 1920x1080 hz: 60
    dpi: 142 gamma: 1.2 size: 344x193mm (13.5x7.6") diag: 394mm (15.5")
    ratio: 16:9 modes: max: 1920x1080 min: 800x600
  Message: Unable to show GL data. Required tool glxinfo missing.
Audio:
  Device-1: Intel CM238 HD Audio vendor: Dell driver: snd_hda_intel v: kernel
    bus-ID: 00:1f.3 chip-ID: 8086:a171 class-ID: 0403
  Device-2: NVIDIA GM107 High Definition Audio [GeForce 940MX] vendor: Dell
    driver: snd_hda_intel v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 16
    link-max: gen: 3 speed: 8 GT/s bus-ID: 01:00.1 chip-ID: 10de:0fbc
    class-ID: 0403
  Sound Server-1: ALSA v: k5.15.25-1-MANJARO running: yes
  Sound Server-2: JACK v: 1.9.20 running: no
  Sound Server-3: PulseAudio v: 15.0 running: yes
  Sound Server-4: PipeWire v: 0.3.47 running: no
Network:
  Device-1: Intel Ethernet I219-LM vendor: Dell driver: e1000e v: kernel
    port: N/A bus-ID: 00:1f.6 chip-ID: 8086:15e3 class-ID: 0200
  IF: enp0s31f6 state: down mac: <filter>
  Device-2: Intel Wireless 8265 / 8275 driver: iwlwifi v: kernel pcie:
    gen: 1 speed: 2.5 GT/s lanes: 1 bus-ID: 02:00.0 chip-ID: 8086:24fd
    class-ID: 0280
  IF: wlp2s0 state: up mac: <filter>
Drives:
  Local Storage: total: 718.67 GiB used: 0 KiB (0.0%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: SK Hynix
    model: PC401 NVMe 256GB size: 238.47 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: 80003E00 temp: 35.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Western Digital
    model: WDS500G2B0A-00SM50 size: 465.76 GiB block-size: physical: 512 B
    logical: 512 B speed: 6.0 Gb/s type: SSD serial: <filter> rev: 00WD
    scheme: GPT
  ID-3: /dev/sdb maj-min: 8:16 type: USB model: USB Flash Memory
    size: 14.44 GiB block-size: physical: 512 B logical: 512 B type: SSD
    serial: <filter> rev: 1.00 scheme: MBR
  SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
Partition:
  Message: No partition data found.
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 52.0 C pch: 44.5 C mobo: N/A gpu: nouveau
    temp: 53.0 C
  Fan Speeds (RPM): cpu: 0 fan-2: 0
Info:
  Processes: 237 Uptime: 9m wakeups: 1 Memory: 15.55 GiB
  used: 1.82 GiB (11.7%) Init: systemd v: 250 tool: systemctl Compilers:
  gcc: 11.2.0 clang: 13.0.1 Packages: pacman: 1151 lib: 319 flatpak: 0
  Shell: Bash v: 5.1.16 running-in: xfce4-terminal inxi: 3.3.13
$ sudo parted -l
Model: ATA WDC WDS500G2B0A (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system  Name                          Flags
 1      1049kB  106MB  105MB   fat32        EFI system partition          boot, esp
 2      106MB   123MB  16.8MB               Microsoft reserved partition  msftres
 3      123MB   500GB  499GB   ntfs         Basic data partition          msftdata
 4      500GB   500GB  548MB   ntfs                                       hidden, diag


Model:  USB Flash Memory (scsi)
Disk /dev/sdb: 15.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 2      3529MB  3534MB  4194kB  primary               esp


Model: PC401 NVMe SK hynix 256GB (nvme)
Disk /dev/nvme0n1: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system     Name  Flags
 1      2097kB  317MB  315MB   fat32                 boot, esp
 2      317MB   247GB  246GB   ext4            root
 3      247GB   256GB  9449MB  linux-swap(v1)        swap

chroot:

[manjaro /]# ls /boot/*
/boot/initramfs-5.15-x86_64-fallback.img  /boot/intel-ucode.img
/boot/initramfs-5.15-x86_64.img           /boot/linux515-x86_64.kver
/boot/initramfs-5.16-x86_64-fallback.img  /boot/vmlinuz-5.15-x86_64
/boot/initramfs-5.16-x86_64.img           /boot/vmlinuz-5.16-x86_64

/boot/efi:
 EFI  'System Volume Information'

/boot/grub:
fonts  grub.cfg  grubenv  locale  themes  x86_64-efi

/boot/memtest86+:
memtest.bin
[manjaro /]# ls /boot/*
/boot/initramfs-5.15-x86_64-fallback.img  /boot/intel-ucode.img
/boot/initramfs-5.15-x86_64.img           /boot/linux515-x86_64.kver
/boot/initramfs-5.16-x86_64-fallback.img  /boot/vmlinuz-5.15-x86_64
/boot/initramfs-5.16-x86_64.img           /boot/vmlinuz-5.16-x86_64

/boot/efi:
 EFI  'System Volume Information'

/boot/grub:
fonts  grub.cfg  grubenv  locale  themes  x86_64-efi

/boot/memtest86+:
memtest.bin
mhwd-kernel -li
Currently running: 5.15.25-1-MANJARO (linux515)
The following kernels are installed in your system:
   * linux515

On a live session:

manjaro-chroot -a
mkinitcpio -P
update-grub

Check whats in:

cat /etc/fstab

on the local installation.

You can also use Maxi

to collect information about the boot process. This works,

  • when you are in your running system (with CTRL+ALT+F2).
  • And also in a live environment

mkinitcpio fails :


[manjaro /]# mkinitcpio -P
==> Building image from preset: /etc/mkinitcpio.d/linux515.preset: 'default'
  -> -k /boot/efi/bd658c047c1c4984a1ddc4ed19292840/5.15.32-1-MANJARO/linux -c /etc/mkinitcpio.conf -g /boot/efi/bd658c047c1c4984a1ddc4ed19292840/5.15.32-1-MANJARO/initrd
==> ERROR: Unable to write to path: `/boot/efi/bd658c047c1c4984a1ddc4ed19292840/5.15.32-1-MANJARO/initrd'
==> Building image from preset: /etc/mkinitcpio.d/linux515.preset: 'fallback'
  -> -k /boot/efi/bd658c047c1c4984a1ddc4ed19292840/5.15.32-1-MANJARO/linux -c /etc/mkinitcpio.conf -g /boot/efi/bd658c047c1c4984a1ddc4ed19292840/5.15.32-1-MANJARO/initrd-fallback -S autodetect
==> ERROR: Unable to write to path: `/boot/efi/bd658c047c1c4984a1ddc4ed19292840/5.15.32-1-MANJARO/initrd-fallback'

fstab :

# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=510A-E9A5                            /boot/efi      vfat    umask=0077 0 2
UUID=1781abd2-a9de-4743-ac2e-08f7bf3b128e /              ext4    defaults,noatime 0 1
UUID=80f0b9e6-1c27-4ad7-aeed-e4283762e2f7 swap           swap    defaults,noatime 0 0

Well if the path does not exist, then it cannot write into it.

What do you use? grub or systemd-boot ?

By default it should look like this:

$ cat /etc/mkinitcpio.d/linux515.preset 
# mkinitcpio preset file for the 'linux515' package

ALL_config="/etc/mkinitcpio.conf"
ALL_kver="/boot/vmlinuz-5.15-x86_64"

PRESETS=('default' 'fallback')

#default_config="/etc/mkinitcpio.conf"
default_image="/boot/initramfs-5.15-x86_64.img"
#default_options=""

#fallback_config="/etc/mkinitcpio.conf"
fallback_image="/boot/initramfs-5.15-x86_64-fallback.img"
fallback_options="-S autodetect"

Set the correct path.

I use grub.
linux515.preset looks the same as you.

I’m not sure how I should set the correct path

Please show it:

find /etc/mkinitcpio.d/ -name "*.preset"  -exec echo -e "\n###\n{}\n###\n" \; -exec cat {} \;

Ok sorry, I made a mistake.
So I have made change to linux515.preset to make it looks like default.

But now I’ve go this error :

mkinitcpio -P
==> Building image from preset: /etc/mkinitcpio.d/linux515.preset: 'default'
  -> -k /boot/vmlinuz-5.15-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-5.15-x86_64.img
==> ERROR: '/lib/modules/5.15.28-1-MANJARO' is not a valid kernel module directory
==> Building image from preset: /etc/mkinitcpio.d/linux515.preset: 'fallback'
  -> -k /boot/vmlinuz-5.15-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-5.15-x86_64-fallback.img -S autodetect
==> ERROR: '/lib/modules/5.15.28-1-MANJARO' is not a valid kernel module directory
pamac upgrade --force-refresh --enable-downgrade --overwrite "*" --no-aur 

Whats in here?

find /boot/ -name "*.kver"  -exec echo -e "\n###\n{}\n###\n" \; -exec cat {} \; 
ls -la /lib/modules/

[manjaro /]# find /boot/ -name "*.kver"  -exec echo -e "\n###\n{}\n###\n" \; -exec cat {} \;

###
/boot/linux515-x86_64.kver
###

5.15.32-1-MANJARO x64

[manjaro /]# ls -la /lib/modules/
total 232
drwxr-xr-x   4 root root   4096 Apr 12 17:45 .
drwxr-xr-x 247 root root 221184 Apr 12 15:25 ..
drwxr-xr-x   3 root root   4096 Apr 12 17:46 5.15.32-1-MANJARO
drwxr-xr-x   2 root root   4096 Apr 12 17:46 extramodules-5.15-MANJARO
pamac reinstall linux515 --overwrite "*"  

Reinstall ok…
But again error :

[manjaro /]# mkinitcpio -P
==> Building image from preset: /etc/mkinitcpio.d/linux515.preset: 'default'
  -> -k /boot/efi/bd658c047c1c4984a1ddc4ed19292840/5.15.32-1-MANJARO/linux -c /etc/mkinitcpio.conf -g /boot/efi/bd658c047c1c4984a1ddc4ed19292840/5.15.32-1-MANJARO/initrd
==> ERROR: Unable to write to path: `/boot/efi/bd658c047c1c4984a1ddc4ed19292840/5.15.32-1-MANJARO/initrd'
==> Building image from preset: /etc/mkinitcpio.d/linux515.preset: 'fallback'
  -> -k /boot/efi/bd658c047c1c4984a1ddc4ed19292840/5.15.32-1-MANJARO/linux -c /etc/mkinitcpio.conf -g /boot/efi/bd658c047c1c4984a1ddc4ed19292840/5.15.32-1-MANJARO/initrd-fallback -S autodetect
==> ERROR: Unable to write to path: `/boot/efi/bd658c047c1c4984a1ddc4ed19292840/5.15.32-1-MANJARO/initrd-fallback'

why? Please check if systemd-boot is installed:

pamac list --installed | grep systemd-boot-manager
ls /usr/share/libalpm/hooks/sdboot*

There must be hook which changes the preset and other configs.

systemd-boot is not installed

[manjaro /]# ls /usr/share/libalpm/hooks/sdboot*
ls: cannot access '/usr/share/libalpm/hooks/sdboot*': No such file or directory

I’ve found /usr/share/libalpm/hooks/systemd-boot.hook

Ah well I guess this it…

$ LANG=C pamac search --files /usr/share/libalpm/hooks/systemd-boot.hook
/usr/share/libalpm/hooks/systemd-boot.hook is owned by systemd-kernel-maintenance

That package is clearly only for systemd-boot:

$ LANG=C pamac info systemd-kernel-maintenance                         
Name                  : systemd-kernel-maintenance
Version               : 0.92-1
Description           : Enables systemd-boot automation using kernel-install
URL                   : https://gitlab.com/fhdk/systemd-kernel-maintenance
Licenses              : GPL2
Repository            : community
Installed Size        : 11.8 kB
Groups                : --
Depends On            : systemd
Optional Dependencies : --
Provides              : --
Replaces              : --
Conflicts With        : --
Packager              : fhdk <fh@manjaro.org>
Build Date            : Wed Nov  3 06:48:04 2021
Validated By          : MD5 Sum  SHA-256 Sum  Signature

So remove it:

pamac remove systemd-kernel-maintenance

and reinstall the kernel.

1 Like

yeah, that’s it !

I can now successfully boot.

Thank you, I really appreciate your help !

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