You shouldn’t chroot into the USB partition /dev/sdb2 but into /dev/nvme1n1p2 (probably, I guess this is where your system is located), which is encrypted, so requires further steps. I’m not a super expert of this use case, but it should be:
sudo cryptsetup open /dev/nvme1n1p2 crypto_LUKS
sudo mount /dev/mapper/crypto_LUKS /mnt/broken
sudo garuda-chroot /mnt/broken/@
mount /dev/nvme1n1p1 /boot/efi
...
I’m also assuming /dev/nvme1n1p1 is your EFI system partition.
If not working, please open a new topic.
Thanks very much, got it to mount the drive at least. Does this look correct?
╭─garuda@garuda in ~ as 🧙 took 4ms
╰─λ sudo cryptsetup open /dev/nvme1n1p2 crypto_LUKS
Enter passphrase for /dev/nvme1n1p2:
╭─garuda@garuda in ~ as 🧙 took 4s
╰─λ
╭─garuda@garuda in ~ as 🧙 took 4s
╰─λ sudo mount /dev/mapper/crypto_LUKS /mnt/broken
╭─garuda@garuda in ~ as 🧙 took 85ms
╰─λ sudo garuda-chroot /mnt/broken/@
sh-5.2# mount /dev/nvme1n1p1 /boot/efi
╭─garuda@garuda in ~ as 🧙 took 4ms
╰─λ sudo cryptsetup open /dev/nvme1n1p2 crypto_LUKS
Enter passphrase for /dev/nvme1n1p2:
╭─garuda@garuda in ~ as 🧙 took 4s
╰─λ
╭─garuda@garuda in ~ as 🧙 took 4s
╰─λ sudo mount /dev/mapper/crypto_LUKS /mnt/broken
╭─garuda@garuda in ~ as 🧙 took 85ms
╰─λ sudo garuda-chroot /mnt/broken/@
sh-5.2# mount /dev/nvme1n1p1 /boot/efi
sh-5.2# ^C
sh-5.2# garuda-update
:: Synchronizing package databases...
error: failed to synchronize all databases (unable to lock database)
:: Synchronizing package databases...
error: failed to synchronize all databases (unable to lock database)
mkdir: cannot create directory '/var/log/garuda/': No space left on device
sh-5.2# pacman -S linux-zen linux-zen-headers
error: failed to init transaction (unable to lock database)
error: could not lock database: No space left on device
sh-5.2#
And kernel reinstallation.
Moved to a new topic.
Although the problem might be the same, it is for sure a different case.
Try also to free up some disk space there.
Or it could be a read-only file system, so a different and more severe problem.
sh-5.2# mount -a
mount: /home: special device /dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 does not exist.
dmesg(1) may have more information after failed mount system call.
mount: /root: special device /dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 does not exist.
dmesg(1) may have more information after failed mount system call.
mount: /srv: special device /dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 does not exist.
dmesg(1) may have more information after failed mount system call.
mount: /var/cache: special device /dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 does not exist.
dmesg(1) may have more information after failed mount system call.
mount: /var/log: special device /dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 does not exist.
dmesg(1) may have more information after failed mount system call.
mount: /var/tmp: special device /dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 does not exist.
dmesg(1) may have more information after failed mount system call.
sh-5.2#
The live environment is not persistent. You basically start over from scratch every time to boot to it. If you want to use this same mount point, you will have to create it again.
That said, it looks like you have unlocked and mounted the LUKS device anyway–probably by clicking on it and typing in the passphrase.
You didn’t post your /etc/fstab, but it looks like /dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 is the mapping you want based on the failed mount command:
That is to say, you can try mounting again now that you have the device unlocked with the expected mapping.
Better yet, try using the chroot tool to set up the mounts and chroot for you.
sh-5.2# cat /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=497C-2B30 /boot/efi vfat defaults,noatime 0 2
/dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 / btrfs subvol=/@,defaults,noatime,compress=zstd 0 0
/dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 /home btrfs subvol=/@home,defaults,noatime,compress=zstd 0 0
/dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 /root btrfs subvol=/@root,defaults,noatime,compress=zstd 0 0
/dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 /srv btrfs subvol=/@srv,defaults,noatime,compress=zstd 0 0
/dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 /var/cache btrfs subvol=/@cache,defaults,noatime,compress=zstd 0 0
/dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 /var/log btrfs subvol=/@log,defaults,noatime,compress=zstd 0 0
/dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 /var/tmp btrfs subvol=/@tmp,defaults,noatime,compress=zstd 0 0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
sh-5.2#
sh-5.2# cat /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=497C-2B30 /boot/efi vfat defaults,noatime 0 2
/dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 / btrfs subvol=/@,defaults,noatime,compress=zstd 0 0
/dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 /home btrfs subvol=/@home,defaults,noatime,compress=zstd 0 0
/dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 /root btrfs subvol=/@root,defaults,noatime,compress=zstd 0 0
/dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 /srv btrfs subvol=/@srv,defaults,noatime,compress=zstd 0 0
/dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 /var/cache btrfs subvol=/@cache,defaults,noatime,compress=zstd 0 0
/dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 /var/log btrfs subvol=/@log,defaults,noatime,compress=zstd 0 0
/dev/mapper/luks-f2314da2-7bb3-4bfa-83ba-9a58d102e216 /var/tmp btrfs subvol=/@tmp,defaults,noatime,compress=zstd 0 0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
sh-5.2# garuda-chroot -a
sh: garuda-chroot: command not found
sh-5.2# garuda-chroot -a
sh: garuda-chroot: command not found
sh-5.2#
Honestly it’s unclear what the issue actually is because you have not provided any information about what is happening yet, except to say “also struggling with the same issue” on another topic that may or may not be related. We are kind of operating under the assumption that you have the same issue as the other person, but so far there isn’t any evidence to suggest that is actually the case.
If you have the same problem as the other person like you say, bringing your system fully up to date and reinstalling the kernel is likely to resolve the issue (as it did for the other person). If you can’t boot to your system normally you will need to do it from the live environment in a chroot.
The sh-5.2# prompt shows that you were already inside a chroot here, so in the installed system, where garuda-chroot is not available (as explained it is available only on the live USB).
Repeat again the chroot steps to try the garuda-update and kernel reinstallation.
If the problem persists, have you tried restoring the latest working snapshot? See: Restoring snapshots to get the system back to working state | Garuda Linux wiki