Boot failed (efibootmgr, luks, btrfs, sway) after updating

Hello,
I’m running manjaro sway + luks + btrfs since 2 years without re-installing.

I made some updates last monday, and something messed up, I can’t find out what.

I’ve tried to re-install bootloader (efibootmgr) via chroot, many time, but it didn’t repair, still broken.

I can’t figure out what’s happening. I’m about to re-install everything, but I’d prefer not to.

When I boot, luks asks the passphrase, that I can fullfill, then I have this messages :

# I'm writing the logs, as I made a photo with my mobile
[TIME] Timed out waiting for device /dev/m409d90-a545-493b-8d67-cf28d7aca04b.
[DEPEND] Dependency failed for FIle System m409d90-a545-493b-8d67-cf28d7aca04b
[DEPEND] Dependency failed for /sysroot.
[DEPEND] Dependency failed for Initrd Root File System.
[DEPEND] Dependency failed for Mountpoints Configured in the Real Root.
[DEPEND] Dependency failed for Initrd Root Device.
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.

Any idea about this ?

Thanks for helping !

# /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=E613-0636                            /boot/efi      vfat    umask=0077 0 2
/dev/mapper/luks-e7e04abb-906a-4ba1-9715-fb8bbbee22b9 /              btrfs   subvol=/@,defaults,discard=async,ssd 0 0
/dev/mapper/luks-e7e04abb-906a-4ba1-9715-fb8bbbee22b9 /home          btrfs   subvol=/@home,defaults,discard=async,ssd 0 0
/dev/mapper/luks-e7e04abb-906a-4ba1-9715-fb8bbbee22b9 /var/cache     btrfs   subvol=/@cache,defaults,discard=async,ssd 0 0
/dev/mapper/luks-e7e04abb-906a-4ba1-9715-fb8bbbee22b9 /var/log       btrfs   subvol=/@log,defaults,discard=async,ssd 0 0
/dev/mapper/luks-e7147416-29bc-45ba-8063-fba5af465394 swap           swap    defaults,noatime 0 0
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
[manjaro-sway /]# ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 Dec 26 10:26 2025-12-21-04-07-56-00 -> ../../dm-0
lrwxrwxrwx 1 root root 10 Dec 26 10:29 62409d90-a545-493b-8d67-cf28d7aca04b -> ../../dm-2
lrwxrwxrwx 1 root root 10 Dec 26 10:26 626B-4255 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Dec 26 10:27 7305-5ED5 -> ../../dm-1
lrwxrwxrwx 1 root root 10 Dec 26 10:26 C11B-953B -> ../../sda1
lrwxrwxrwx 1 root root 10 Dec 26 10:26 e7147416-29bc-45ba-8063-fba5af465394 -> ../../sda3
lrwxrwxrwx 1 root root 10 Dec 26 10:26 e7e04abb-906a-4ba1-9715-fb8bbbee22b9 -> ../../sda2
[manjaro-sway /]# ls -l /dev/disk/by-id/
total 0
lrwxrwxrwx 1 root root  9 Dec 26 10:26 ata-SK_hynix_SC311_SATA_256GB_MS8CN47251210CC28 -> ../../sda
lrwxrwxrwx 1 root root 10 Dec 26 10:26 ata-SK_hynix_SC311_SATA_256GB_MS8CN47251210CC28-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Dec 26 10:26 ata-SK_hynix_SC311_SATA_256GB_MS8CN47251210CC28-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Dec 26 10:26 ata-SK_hynix_SC311_SATA_256GB_MS8CN47251210CC28-part3 -> ../../sda3
lrwxrwxrwx 1 root root 10 Dec 26 10:29 dm-name-my_luks -> ../../dm-2
lrwxrwxrwx 1 root root 10 Dec 26 10:26 dm-name-sdb1 -> ../../dm-1
lrwxrwxrwx 1 root root 10 Dec 26 10:26 dm-name-ventoy -> ../../dm-0
lrwxrwxrwx 1 root root 10 Dec 26 10:29 dm-uuid-CRYPT-LUKS1-e7e04abb906a4ba19715fb8bbbee22b9-my_luks -> ../../dm-2
lrwxrwxrwx 1 root root  9 Dec 26 10:26 usb-Kingston_DataTraveler_2.0_C86000BDB8B9B0202A2D9CBA-0:0 -> ../../sdb
lrwxrwxrwx 1 root root 10 Dec 26 10:26 usb-Kingston_DataTraveler_2.0_C86000BDB8B9B0202A2D9CBA-0:0-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Dec 26 10:26 usb-Kingston_DataTraveler_2.0_C86000BDB8B9B0202A2D9CBA-0:0-part2 -> ../../sdb2
lrwxrwxrwx 1 root root  9 Dec 26 10:26 wwn-0x5ace42e0751a7e77 -> ../../sda
lrwxrwxrwx 1 root root 10 Dec 26 10:26 wwn-0x5ace42e0751a7e77-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Dec 26 10:26 wwn-0x5ace42e0751a7e77-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Dec 26 10:26 wwn-0x5ace42e0751a7e77-part3 -> ../../sda3
[manjaro-sway /]# ls -l /dev/disk/by-path
total 0
lrwxrwxrwx 1 root root   9 Dec 26 10:26 pci-0000:00:14.0-usb-0:9:1.0-scsi-0:0:0:0 -> ../../sdb
drwxr-xr-x 6 root root 120 Dec 26 10:26 pci-0000:00:14.0-usb-0:9:1.0-scsi-0:0:0:0-part
lrwxrwxrwx 1 root root  10 Dec 26 10:26 pci-0000:00:14.0-usb-0:9:1.0-scsi-0:0:0:0-part1 -> ../../sdb1
lrwxrwxrwx 1 root root  10 Dec 26 10:26 pci-0000:00:14.0-usb-0:9:1.0-scsi-0:0:0:0-part2 -> ../../sdb2
lrwxrwxrwx 1 root root   9 Dec 26 10:26 pci-0000:00:14.0-usbv2-0:9:1.0-scsi-0:0:0:0 -> ../../sdb
lrwxrwxrwx 1 root root  10 Dec 26 10:26 pci-0000:00:14.0-usbv2-0:9:1.0-scsi-0:0:0:0-part1 -> ../../sdb1
lrwxrwxrwx 1 root root  10 Dec 26 10:26 pci-0000:00:14.0-usbv2-0:9:1.0-scsi-0:0:0:0-part2 -> ../../sdb2
lrwxrwxrwx 1 root root   9 Dec 26 10:26 pci-0000:00:17.0-ata-3 -> ../../sda
lrwxrwxrwx 1 root root  10 Dec 26 10:26 pci-0000:00:17.0-ata-3-part1 -> ../../sda1
lrwxrwxrwx 1 root root  10 Dec 26 10:26 pci-0000:00:17.0-ata-3-part2 -> ../../sda2
lrwxrwxrwx 1 root root  10 Dec 26 10:26 pci-0000:00:17.0-ata-3-part3 -> ../../sda3
lrwxrwxrwx 1 root root   9 Dec 26 10:26 pci-0000:00:17.0-ata-3.0 -> ../../sda
drwxr-xr-x 6 root root 120 Dec 26 10:26 pci-0000:00:17.0-ata-3.0-part
lrwxrwxrwx 1 root root  10 Dec 26 10:26 pci-0000:00:17.0-ata-3.0-part1 -> ../../sda1
lrwxrwxrwx 1 root root  10 Dec 26 10:26 pci-0000:00:17.0-ata-3.0-part2 -> ../../sda2
lrwxrwxrwx 1 root root  10 Dec 26 10:26 pci-0000:00:17.0-ata-3.0-part3 -> ../../sda3

What do you mean exactly ?

Are you using unified kernel and trying to fix the entry in the firmware ?

Are you using the default grub loader ?

[root tip] [recovery] Basic Manjaro Linux Rescue and Recovery

This is likely where your luks container is stored

Below snippet look like an edit of a file not stored correct e.g. the m character as part of /dev/m409d90 .....it should probably have been this UUID or some form of

It should probably have been this UUID

And this is apparently your containers id

I am guessing your luks container is at /dev/sda2 so you can check with cryptsetup luksUUID /dev/sda2.

If the observation is correct the output should be 62409d90-a545-493b-8d67-cf28d7aca04b

If you are using a default installation of Manjaro - using the default installer - then you will have /etc/crypttab and you will have /etc/default/grub and any of these may contain the invalid reference /dev/m....

Exactly how you can fix it - I cannot say - because the extent of the damage is unknown.

And I have next to no knowledge of btrfs but perhaps the above observations can help your forward in the recovery process.

You should probably try using btrfs tools to investigate the health of the internal file system.

It would be helpful to understand what you have updated and how long ago you haven’t installed updates.
Arch switched to systemd mkinitcpio hooks, if you did not install the updates long enough it could be the reason. these changes should not be applied automatically, but I still recommend checking this discussion [Unstable Update] November 2025 - #25 by linux-aarhus below are examples for configurations with luks and luks2.

because you performed chroot, I assume that your file system is fine. if you have btrfs snapshots I guess you could just roll back to the point when it all worked (or try boot in btrfs snapshot if you can). Before you follow this recommendation, read more about it first.
These are all the thoughts that came to my mind.

1 Like

Thanks for your answers.

Indeed it seems that some bad /dev/m409d90-a545-493b-8d67-cf28d7aca04bis used. I tried to find where with grep, but I didn’t find anything. I’m not sure about the best way to find which file contains this string.

The os was up-to-date. I use to make updates on time when they arrive.

The breaking change about systemd was delivered in november, so I believe all was correctly configured with it.

How can I look for the updates I made last monday ?

I think too that the filesystem is ok.

About btrfs rollback, I never used it, I dont know how it works and how to use it.

When you have the damaged system mounted from a rescue ISO - I would grep for a file containing the last part of the UUID tha appear flawed

grep -rl 'a545-493b-8d67-cf28d7aca04b' /mnt/etc

If you cannot find it - I suggest you post the content of

  • <recoverymount>/etc/default/grub
  • <recoverymount>/etc/crypttab

Since the output indicate the container is luks1 I am guessing you are using a default installation with grub boot loader - so just to verify.

Are you using anything but the default grub boot loader?

Have you converted the system to use unified kernel image UKI?

What is the output from

efibootmgr

cat /var/log/pacman.log The last entries in the list will match your latest updates.

or use grep "2025-12-22" /var/log/pacman.log to view only records created on the 22nd day of this month

if timeshift snapshot enabled:
sudo timeshift --list
sudo timeshift --restore --snapshot "snapshot name" this will return your system and all files (from root FS) at the time of creation of this snapshot, i.e., all created files and changes will be lost. but I think that in case of lack of knowledge it is better not to use this method or at least read more about timeshift.

grep -rl 'a545-493b-8d67-cf28d7aca04b' /mnt/etc
# find nothing

I don’t understand from where this bad UUID comes from…

[manjaro-sway /]# cat /etc/default/grub
# GRUB boot loader configuration

GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Manjaro"


# GRUB_CMDLINE_LINUX_DEFAULT="quiet i915.enable_psr=0 intel_idle.max_cstate=2 i915.edp_vswing=2 cryptdevice=UUID=e7e04abb-906a-4ba1-9715-fb8bbbee22b9:luks-e7e04abb-906a-4ba1-9715-fb8bbbee22b9 root=/dev/mapper/luks-e7e04abb-906a-4ba1-9715-fb8bbbee22b9 apparmor=1 security=apparmor resume=/dev/mapper/luks-e7147416-29bc-45ba-8063-fba5af465394 udev.log_priority=3"

# GRUB_CMDLINE_LINUX_DEFAULT="quiet i915.enable_psr=0 intel_idle.max_cstate=2 i915.edp_vswing=2 cryptdevice=UUID=e7e04abb-906a-4ba1-9715-fb8bbbee22b9:luks-e7e04abb-906a-4ba1-9715-fb8bbbee22b9 apparmor=1 security=apparmor udev.log_priority=3"

GRUB_CMDLINE_LINUX="rd.luks.key=/crypto_keyfile.bin rd.luks.name=e7e04abb-906a-4ba1-9715-fb8bbbee22b9=root root=/dev/mapper/root"

# 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="/path/to/gfxtheme"

# 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

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

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

[manjaro-sway /]# cat /etc/crypttab
# /etc/crypttab: mappings for encrypted partitions.
#
# Each mapped device will be created in /dev/mapper, so your /etc/fstab
# should use the /dev/mapper/<name> paths for encrypted devices.
#
# See crypttab(5) for the supported syntax.
#
# NOTE: You need not list your root (/) partition here, but it must be set up
#       beforehand by the initramfs (/etc/mkinitcpio.conf). The same applies
#       to encrypted swap, which should be set up with mkinitcpio-openswap
#       for resume support.
#
# <name>               <device>                         <password> <options>
luks-e7e04abb-906a-4ba1-9715-fb8bbbee22b9 UUID=e7e04abb-906a-4ba1-9715-fb8bbbee22b9     /crypto_keyfile.bin luks
luks-e7147416-29bc-45ba-8063-fba5af465394 UUID=e7147416-29bc-45ba-8063-fba5af465394     /crypto_keyfile.bin luks
[manjaro-sway /]# efibootmgr
BootCurrent: 0008
Timeout: 2 seconds
BootOrder: 0005,0007,0009,0001,0002,0003,0004,0008
Boot0000* Windows Boot Manager	HD(2,GPT,da9fcecb-914e-49ec-b84b-b2182e5fd069,0x96800,0x100000)/\EFI\Microsoft\Boot\bootmgfw.efi57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d00000030000100000010000000040000007fff0400
Boot0001* Diskette Drive	BBS(Floppy,Diskette Drive,0x0)0000424f
Boot0002* USB Storage Device	BBS(USB,KingstonDataTraveler 2.0PMAP,0x0)0000424f
Boot0003* CD/DVD/CD-RW Drive	BBS(CDROM,CD/DVD/CD-RW Drive,0x0)0000424f
Boot0004* Onboard NIC	BBS(Network,IBA CL Slot 00FE v0112,0x0)0000424f
Boot0005* Manjaro	HD(1,GPT,e358cfdb-ffc7-4834-928b-b849721c4dab,0x1000,0x96000)/\EFI\Manjaro\grubx64.efi
Boot0006* ubuntu	HD(1,GPT,4e031c0f-ebcf-4e34-ace9-389b051b7bec,0x800,0x100000)/\EFI\ubuntu\shimx64.efi
Boot0007* rEFInd Boot Manager	HD(1,GPT,e358cfdb-ffc7-4834-928b-b849721c4dab,0x1000,0x96000)/\EFI\refind\refind_x64.efi
Boot0008* UEFI: KingstonDataTraveler 2.0PMAP, Partition 2	PciRoot(0x0)/Pci(0x14,0x0)/USB(1,0)/HD(2,MBR,0x87931a0b,0xe7b000,0x10000)0000424f
Boot0009* Linux Boot Manager	HD(1,GPT,e358cfdb-ffc7-4834-928b-b849721c4dab,0x1000,0x96000)/\EFI\systemd\systemd-bootx64.efi

I have only manjaro on that laptop, no windows.

I used to have a default bootloader config. But in my attempts to repair it, I tried to :

  • I tried to re-install default grub/efi
  • also tried to use refind
  • also tried to use systemd-boot

But my goal is to clean the bootloader and use some default config just to boot the OS.

About the Unified kernel image, I think I didn’t change anything from default manjaro-sway installation, I assume that the mkinitcpio had generated it. I’m not sure I understood your question about it…

Some pacman logs on 2025-12-20 :

[manjaro-sway /]# grep "2025-12-20" /var/log/pacman.log
[2025-12-20T20:42:05+0100] [PACMAN] Running 'pacman --sync -y -u --'
[2025-12-20T20:42:05+0100] [PACMAN] synchronizing package lists
[2025-12-20T20:42:06+0100] [PACMAN] starting full system upgrade
[2025-12-20T20:42:15+0100] [ALPM] running '00-timeshift-autosnap.hook'...
[2025-12-20T20:42:16+0100] [ALPM-SCRIPTLET] First run mode (config file not found)
[2025-12-20T20:42:16+0100] [ALPM-SCRIPTLET] Selected default snapshot type: BTRFS
[2025-12-20T20:42:16+0100] [ALPM-SCRIPTLET] Using system disk as snapshot device for creating snapshots in BTRFS mode
[2025-12-20T20:42:16+0100] [ALPM-SCRIPTLET] Mounted '/dev/dm-0 (sda2)' (subvolid=0) at '/run/timeshift/128535/backup'
[2025-12-20T20:42:16+0100] [ALPM-SCRIPTLET] btrfs: Quotas are not enabled
[2025-12-20T20:42:16+0100] [ALPM-SCRIPTLET] Creating new backup...(BTRFS)
[2025-12-20T20:42:16+0100] [ALPM-SCRIPTLET] Saving to device: /dev/dm-0, mounted at path: /run/timeshift/128535/backup
[2025-12-20T20:42:16+0100] [ALPM-SCRIPTLET] Created directory: /run/timeshift/128535/backup/timeshift-btrfs/snapshots2025-12-20_20-42-16
[2025-12-20T20:42:16+0100] [ALPM-SCRIPTLET] Created subvolume snapshot: /run/timeshift/128535/backup/timeshift-btrfs/snapshots/2025-12-20_20-42-16/@
[2025-12-20T20:42:16+0100] [ALPM-SCRIPTLET] Created control file: /run/timeshift/128535/backup/timeshift-btrfs/snapshots/2025-12-20_20-42-16/info.json
[2025-12-20T20:42:16+0100] [ALPM-SCRIPTLET] BTRFS Snapshot saved successfully (0s)
[2025-12-20T20:42:16+0100] [ALPM-SCRIPTLET] Tagged snapshot '2025-12-20_20-42-16': ondemand
[2025-12-20T20:42:16+0100] [ALPM-SCRIPTLET] ------------------------------------------------------------------------------
[2025-12-20T20:42:17+0100] [ALPM-SCRIPTLET] First run mode (config file not found)
[2025-12-20T20:42:17+0100] [ALPM-SCRIPTLET] Selected default snapshot type: BTRFS
[2025-12-20T20:42:17+0100] [ALPM-SCRIPTLET] Mounted '/dev/dm-0 (sda2)' (subvolid=0) at '/run/timeshift/128668/backup'
[2025-12-20T20:42:17+0100] [ALPM-SCRIPTLET] btrfs: Quotas are not enabled
[2025-12-20T20:42:18+0100] [ALPM-SCRIPTLET] Selected default snapshot device: /dev/dm-0
[2025-12-20T20:42:18+0100] [ALPM-SCRIPTLET] ------------------------------------------------------------------------------
[2025-12-20T20:42:18+0100] [ALPM-SCRIPTLET] Removing snapshot: 2025-12-16_14-07-38
[2025-12-20T20:42:18+0100] [ALPM-SCRIPTLET] Deleting subvolume: @ (Id:798)
[2025-12-20T20:42:35+0100] [ALPM-SCRIPTLET] Deleted subvolume: @ (Id:798)
[2025-12-20T20:42:37+0100] [ALPM-SCRIPTLET] 
[2025-12-20T20:42:37+0100] [ALPM-SCRIPTLET] Deleted directory: /run/timeshift/128668/backup/timeshift-btrfs/snapshots/2025-12-16_14-07-38
[2025-12-20T20:42:37+0100] [ALPM-SCRIPTLET] Deleted directory: /run/timeshift/128668/backup/timeshift-btrfs/snapshots/2025-12-16_14-07-38
[2025-12-20T20:42:37+0100] [ALPM-SCRIPTLET] Removed snapshot: 2025-12-16_14-07-38
[2025-12-20T20:42:37+0100] [ALPM-SCRIPTLET] ------------------------------------------------------------------------------
[2025-12-20T20:42:37+0100] [ALPM-SCRIPTLET] Detecting snapshots ...
[2025-12-20T20:42:38+0100] [ALPM-SCRIPTLET] Found snapshot: 2025-12-20 20:42:16 | timeshift-btrfs/snapshots/2025-12-2_20-42-16/@ | ondemand | {timeshift-autosnap} {created before upgrade} |
[2025-12-20T20:42:38+0100] [ALPM-SCRIPTLET] Found snapshot: 2025-12-19 20:37:44 | timeshift-btrfs/snapshots/2025-12-19_20-37-44/@ | ondemand | {timeshift-autosnap} {created before upgrade} |
[2025-12-20T20:42:38+0100] [ALPM-SCRIPTLET] Found snapshot: 2025-12-18 11:57:35 | timeshift-btrfs/snapshots/2025-12-18_11-57-35/@ | ondemand | {timeshift-autosnap} {created before upgrade} |
[2025-12-20T20:42:38+0100] [ALPM-SCRIPTLET] if [ ! -e "${prefix}/grub-btrfs.cfg" ]; then
[2025-12-20T20:42:38+0100] [ALPM-SCRIPTLET] echo ""
[2025-12-20T20:42:38+0100] [ALPM-SCRIPTLET] else
[2025-12-20T20:42:38+0100] [ALPM-SCRIPTLET] submenu 'Manjaro Linux snapshots' {
[2025-12-20T20:42:38+0100] [ALPM-SCRIPTLET]     configfile "${prefix}/grub-btrfs.cfg"
[2025-12-20T20:42:38+0100] [ALPM-SCRIPTLET] }
[2025-12-20T20:42:38+0100] [ALPM-SCRIPTLET] fi
[2025-12-20T20:42:38+0100] [ALPM-SCRIPTLET] Found 3 snapshot(s)
[2025-12-20T20:42:38+0100] [ALPM-SCRIPTLET] Unmount /tmp/grub-btrfs.aH6Dmi4lqP .. Success
[2025-12-20T20:42:38+0100] [ALPM] transaction started
[2025-12-20T20:42:39+0100] [ALPM] upgraded chromium (143.0.7499.146-1 -> 143.0.7499.169-1)
[2025-12-20T20:42:40+0100] [ALPM] transaction completed
[2025-12-20T20:42:40+0100] [ALPM] running '30-systemd-update.hook'...
[2025-12-20T20:42:40+0100] [ALPM] running 'gtk-update-icon-cache.hook'...
[2025-12-20T20:42:40+0100] [ALPM] running 'log-orphans.hook'...
[2025-12-20T20:42:41+0100] [ALPM-SCRIPTLET] ## The following packages are installed but not required (anymore):
[2025-12-20T20:42:41+0100] [ALPM-SCRIPTLET] meson
[2025-12-20T20:42:41+0100] [ALPM-SCRIPTLET] scdoc
[2025-12-20T20:42:41+0100] [ALPM-SCRIPTLET] You can mark them as explicitly installed with 'pacman -D --asexplicit <pkg>' or remove them all using 'pacman -Qtdq | sudo pacman -Rns -'
[2025-12-20T20:42:41+0100] [ALPM-SCRIPTLET] You can mark them as explicitly installed with 'pacman -D --asexplicit <pkg>' or remove them all using 'pacman -Qtdq | sudo pacman -Rns -'
[2025-12-20T20:42:41+0100] [ALPM] running 'pacnew-checker.hook'...
[2025-12-20T20:42:41+0100] [ALPM] running 'update-desktop-database.hook'...
[2025-12-20T20:42:42+0100] [ALPM] running 'waybar.hook'...
[2025-12-20T20:43:08+0100] [PACMAN] Running 'pacman -S --needed --config /etc/pacman.conf -- extra/networkmanager extra/playerctl extra/wl-clipboard extra/xdg-user-dirs extra/gvfs extra/xorg-xwayland extra/greetd-tuigreet extra/gnome-keyring extra/grub-btrfs extra/gtklock extra/firefox extra/jq extra/bluez extra/pcmanfm-qt extra/wget extra/dhclient extra/cliphist manjaro-sway/manjaro-pipewire extra/qt5ct extra/qt6ct extra/greetd extra/kvantum manjaro-sway/manjaro-browser-settings extra/qt5-wayland core/curl extra/bluez-utils extra/qt6-wayland extra/pulsemixer manjaro-sway/gtk3-nocsd extra/pamac-gtk extra/nss-mdns extra/polkit-gnome extra/avahi manjaro-sway/manjaro-sway-settings manjaro-sway/sway-services'
[2025-12-20T20:43:08+0100] [PACMAN] Running 'pacman -D -q --asdeps --config /etc/pacman.conf -- gtklock curl'
[2025-12-20T20:43:08+0100] [PACMAN] Running 'pacman -D -q --asexplicit --config /etc/pacman.conf -- avahi gvfs nss-mdns qt6ct qt5-wayland greetd bluez-utils xdg-user-dirs gtk3-nocsd dhclient manjaro-pipewire gnome-keyring sway-services qt5ct jq grub-btrfs networkmanager firefox xorg-xwayland kvantum pamac-gtk greetd-tuigreet polkit-gnome bluez qt6-wayland manjaro-sway-settings wl-clipboard manjaro-browser-settings wget pulsemixer playerctl cliphist pcmanfm-qt'
[2025-12-20T20:43:09+0100] [PACMAN] Running 'pacman -S --needed --config /etc/pacman.conf -- manjaro-sway/laptop-mode-tools extra/ffmpeg manjaro-sway/sworkstyle extra/wqy-microhei extra/apparmor manjaro-sway/oh-my-zsh extra/timeshift-autosnap-manjaro extra/ethtool extra/zathura-pdf-poppler extra/network-manager-applet manjaro-sway/wluma manjaro-sway/pacseek extra/wlsunset manjaro-sway/poweralertd extra/dex extra/yay extra/manjaro-settings-manager manjaro-sway/wdisplays extra/gvfs-mtp extra/python-pyqt5 extra/imv extra/celluloid extra/gnome-epub-thumbnailer extra/zathura extra/autotiling extra/file-roller extra/xdg-desktop-portal-wlr core/base-devel extra/ffmpegthumbnailer manjaro-sway/manjaro-aur-support manjaro-sway/flashfocus extra/helix manjaro-sway/pacman-log-orphans-hook extra/7zip extra/manjaro-settings-manager-notifier manjaro-sway/swaycwd'
[2025-12-20T20:43:09+0100] [PACMAN] Running 'pacman -D -q --asexplicit --config /etc/pacman.conf -- yay xdg-desktop-portal-wlr helix network-manager-applet gnome-epub-thumbnailer ffmpeg timeshift-autosnap-manjaro file-roller autotiling manjaro-settings-manager manjaro-aur-support pacseek wdisplays base-devel flashfocus manjaro-settings-manager-notifier wqy-microhei 7zip ffmpegthumbnailer gvfs-mtp python-pyqt5 imv laptop-mode-tools wlsunset ethtool apparmor zathura-pdf-poppler pacman-log-orphans-hook celluloid wluma oh-my-zsh zathura poweralertd sworkstyle swaycwd dex'
[2025-12-20T20:43:12+0100] [PACMAN] Running 'pacman --sync -y -u --'
[2025-12-20T20:43:12+0100] [PACMAN] synchronizing package lists
[2025-12-20T20:43:12+0100] [PACMAN] starting full system upgrade
[manjaro-sway /]# sudo timeshift --list
First run mode (config file not found)
Selected default snapshot type: BTRFS

** (process:104): CRITICAL **: 19:34:49.138: tee_jee_file_system_path_combine: assertion 'path1 != NULL' failed

** (process:104): CRITICAL **: 19:34:49.138: tee_jee_file_system_dir_exists: assertion 'dir_path != NULL' failed
Selected default snapshot device: /dev/loop0

** (process:104): CRITICAL **: 19:34:49.139: tee_jee_file_system_path_combine: assertion 'path1 != NULL' failed

** (process:104): CRITICAL **: 19:34:49.139: tee_jee_file_system_dir_exists: assertion 'dir_path != NULL' failed
Device : /dev/loop0
UUID   : 
Path   : 
Mode   : BTRFS
Status : Selected snapshot device is not a system disk
Select BTRFS system disk with root subvolume (@)

No snapshots found
[manjaro-sway /]# btrfs subvolume list /
ID 256 gen 1158911 top level 5 path @
ID 257 gen 1158897 top level 5 path @home
ID 258 gen 1158895 top level 5 path @cache
ID 259 gen 1158911 top level 5 path @log
ID 801 gen 1156426 top level 5 path timeshift-btrfs/snapshots/2025-12-20_20-42-16/@
ID 802 gen 1156427 top level 5 path timeshift-btrfs/snapshots/2025-12-22_00-32-42/@
ID 803 gen 1158480 top level 5 path timeshift-btrfs/snapshots/2025-12-22_22-09-51/@

Is this within a chroot? I’ve never been able to get timeshift to work in a chroot.

But it is not to hard to manually just restore any of these snapshots on the command line. Just a few commands. (And this is completely reversible if needed, without modifying the current root or existing snapshots.)

I don’t use LUKS, especially on my boot drive. But I imagine the process is identical outside the LUKS portion.

If that’s what you are wanting..

That is an important information - at in regard to what we do next.

The goal is to get the system running, and you have tried various methods.

One last idea - try regenerating your init and your grub config and reboot - if that doesn’t do it - continue reading

mkinitcpio -P
update-grub
reboot

Get it back running

At the current state - we have no idea why the boot is failing - so let’s stop speculating and do something.

What I am suggesting is to convert your system to use a unified kernel image using the Linux 6.18 kernel - because it comes with long term support.

click here to expend the details

The main parts of the process is derived from [How To] PoC dual-boot Manjaro LUKS / Windows BitLocker

Start with this part

Boot the live ISO

Inside the chroot

Now we deviate

  1. ensure the system has Linux 6.18
  2. we will use mkinitcpio generate the unified kernel image
  3. update your systems efi firmware
    • clean up excess entries
    • add a new entry to boot Manjaro

Remove excess kernels

sudo pacman -Rns linux612 linux66

Install linux 6.18

sudo pacman -Syu linux618

Create a Linux folder in the $esp mounted at /efi

mkdir -p /efi/EFI/Linux

Create a copy of of linux618.preset

cp /etc/mkinitcpio.p/linux618.preset /etc/mkinitcpio.p/linux618.preset.org

Then edit the file /etc/mkinitcpio.d/linux618.preset and change it like this (I removed all the comments so the intention is clear

ALL_kver="/boot/vmlinuz-6.18-x86_64"
PRESETS=('default')
default_uki="/efi/EFI/Linux/manjaro-6.18-x86_64.efi"
default_options="--splash /usr/share/systemd/bootctl/splash-manjaro.bmp"

Now generate the init

mkinitcpio -p linux618

If you get a warning from sbctl about missing signing keys - don’t worry.

To remove the warning run

sbctl create-keys
mkinitcpio -p linux618

Now you have a unified kernel in your $esp

/EFI/Linux/manjaro-6.18-x86_64.efi

Time for cleaning up your efi loader entries.

From your listing above and the fact that you Manjaro is the only OS - lets remove

  • Boot0000 Windows Boot Manager
  • Boot0005 Manjaro Grub
  • Boot0006 Ubuntu Grub
  • Boot0007 rEFInd
  • Boot0009 Grub default

Run the commands as follows

  • the -B argument remove an entry
  • the -b xxxx defines the entry to change or remove
    efibootmgr -B -b0000
    efibootmgr -B -b0005
    efibootmgr -B -b0006
    efibootmgr -B -b0007
    efibootmgr -B -b0009
    

The last step is to create a new entry - from your previous comments I assume your $esp EFI partition is /dev/sda1 - please verify and change accordingly

the arguments

  • --disk is the disk containing the EFI partition e.g. /dev/sda
  • --part is the partitions number e.g. 1 as in /dev/sda1
  • --loader is the path inside the EFI partition - without mountpoint
  • --label is the name for the loader - you can call it anything you like
  • --unicode tells the loader to use UCS-2 (ASCII is default)
efibootmgr --create --disk /dev/sda --part 1 --loader '/EFI/Linux/manjaro-6.18-x86_64.efi' --label 'Manjaro 6.18` --unicode

I suggest you clean up from the grub loader - so it is not muddying the waters.

pacman -Rns grub-theme-manjaro install-grub update-grub grub grub-btrfs mkinitcpio-openswap

are there any other records after this ?
I looked at the list of updated packages and didn’t find anything that I thought might lead to this issue, but you can try rolling back these packages to the previous version:

extra/grub-btrfs extra/apparmor extra/timeshift-autosnap-manjaro

sudo downgrade grub-btrfs apparmor timeshift-autosnap-manjaro or use the cache of these packages (if you have one) from /var/cache/pacman/pkg/

since you have extra/grub-btrfs packages installed I suppose you can choose one of the snapshots in Grub boot menu, that’s right ? if this is so try to boot into one of them to check their health.

here is an example of recovering from a snapshot manually, because timeshift did not work in your case. but unfortunately I can’t guarantee the functionality of this method. Before doing this, you should back up all important files to the other volume https://gist.github.com/al-swaiti/2f571ffd506090d92bcb3cf9afb33066#step-5-restore-from-working-snapshot

or better [HowTo] Manual rollback with btrfs use this manual

It’s incomplete – there should be 8 more characters before that.

You need to take better care when selecting text for copying:

m409d90-a545-493b-8d67-cf28d7aca04b

And there’s still one character missing.

This appeared in one of your outputs above:

62409d90-a545-493b-8d67-cf28d7aca04b

It looks like the “m” at the beginning should be “62”.

I couldn’t make it work in any way, so I finally made a fresh reinstall.
Thanks everybody for your suggestions and help.