Can't boot after stable update 2026-05-27

Could you post your /etc/mkinitcpio.conf and your /etc/default/grub, please?

2 Likes

There was a very recent mkinitcpio.conf.pacnew. Though it didn’t apply to my system, perhaps it contained something related.

3 Likes

I was rather thinking of the change in the boot loader configuration to the syntax for encrypted volumes, as required when using the systemd-based hooks.

2 Likes

Possible; as was the case with the topic split from this one.

1 Like

That’s what i was thinking in post 11. Mkinitcpio.comf and the kernel line in grub will tell us this.

2 Likes

grub:

# GRUB boot loader configuration

GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Manjaro"
#GRUB_CMDLINE_LINUX_DEFAULT="quiet cryptdevice=UUID=95d318cc-447d-4db5-9e21-bb35b23a97cc:luks-95d318cc-447d-4db5-9e21-bb35b23a97cc root=/dev/mapper/luks-95d318cc-447d-4db5-9e21-bb35b23a97cc splash udev.log_priority=3"
GRUB_CMDLINE_LINUX_DEFAULT="quiet cryptdevice=UUID=95d318cc-447d-4db5-9e21-bb35b23a97cc:luks-95d318cc-447d-4db5-9e21-bb35b23a97cc root=/dev/mapper/luks-95d318cc-447d-4db5-9e21-bb35b23a97cc udev.log_priority=3"
GRUB_CMDLINE_LINUX=""

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Set to 'countdown' or 'menu' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=hidden

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command 'videoinfo'
GRUB_GFXMODE=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/usr/share/grub/background.png"
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
GRUB_SAVEDEFAULT=true

# Uncomment to disable submenus in boot menu
#GRUB_DISABLE_SUBMENU=y

# Uncomment this option to enable os-prober execution in the grub-mkconfig command
GRUB_DISABLE_OS_PROBER=false

# Uncomment to ensure that the root filesystem is mounted read-only so that
# systemd-fsck can run the check automatically. We use 'fsck' by default, which
# needs 'rw' as boot parameter, to avoid delay in boot-time. 'fsck' needs to be
# removed from 'mkinitcpio.conf' to make 'systemd-fsck' work.
# See also Arch-Wiki: https://wiki.archlinux.org/index.php/Fsck#Boot_time_checking
#GRUB_ROOT_FS_RO=true

mkinitcpio.conf (comment lines removed for your convenience):

MODULES=()
BINARIES=()
FILES=()
HOOKS=(base systemd autodetect microcode modconf kms keyboard sd-vconsole block filesystems fsck)

If you still need the boot log, please point me to the file! I don’t see any log in the boot partition.

Why is this outcommented?

#GRUB_ENABLE_CRYPTODISK=y

Nope, everything is as expected. This config cannot work :grinning_face:

For the sake of learning you can read the other similar topic starting at post 10

The easiest would be to return to udev until you learn how to make a proper systemd config (i have linked the wiki).

So replace

HOOKS=(base systemd autodetect microcode modconf kms keyboard sd-vconsole block filesystems fsck)

With

HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block encrypt filesystems fsck)

And then (from the live usb chroot do you know how to?)

mkinitcpio -P
update-grub
reboot
1 Like

First, thanks to all of you for looking into this!

So, I missed a pacnew for some reason. The systemd hook was the old default, the udev hook is the new default. Replacing the line will correct my mkinitcpio.conf exactly like the missed pacnew would have done. Am I correct? Because I’m wondering why you also suggest to do something to my systemd config.

Should I remove philm’s package before I apply the fix?

Nexan in the other thread wrote that either the pacnew checker may have crashed or the window was closed by accident. In both cases the pacnew file should still be there. Is there any clue why this happened to us?

And yes, I know how to chroot now.

This is very reminiscent of what I went through, together with Telcoced who actually solved what is probably your issue as well.

When it comes to booting LUKS with systemd HOOKS, just adjusting the HOOKS is not enough. Read through Telcoced excelent post. It helped a lot back then and now, when applying the current stable update, I was able to boot on first try, no issue at all this time.

In fact, what is described here as ‘broken HOOKS’ is basically how my HOOKS are configured.

1 Like

Crashing the update process would have left you without a kernel and not a wrong config. No idea if pacnew checker hook could have crashed. I don’t have it installed (i just check manually for pacnews after update).
More likely you merged it wrong.

Udev is the old config actually, the pacnews brings the systemd config. Which is imho faster, BUT you have to change the syntax in the kernel line, which you didn’t do.

P.s. the hooks are not broken but the combination and the sequence is important. And you cannot mix udev and systemd. Just look at the table in the arch wiki. And in that case the encryption modules are different and needed different syntax on the kernel line in grub
Just look at the arch wiki links in the other topic (section 1.2.4.1).

2 Likes

I am missing dmraid and sd-encrypt in his HOOKS.

sd-encrypt should only be used with the systemd hooks. When using the udev hooks, one should use encrypt.

1 Like

I was referring to his systemd configuration. I would have preferred it anyway if we’d just left it with systemd.

Systemd is the new default and is faster. At some point everybody will be forced to use it. However, users with encryption has to additionally change the kernel boot line from

cryptdevice=UUID=device-UUID:root

to

rd.luks.uuid=XXXXXXXX-XXXX-XXXX

Seems like i have to post the link again…

4 Likes