ERROR: device ‘/dev/mapper/luks-c0949ed2-cf41-4b82-bcb1-4563689838d5’ not found. Skipping fsck.
MOUNT: /new_root: no valid filesystem type specified
ERROR: failed to mount ‘/dev/mapper/luks-c0949ed2-cf41-4b82-bcb1-4563689838d5’ on real root
You are now being dropped into an emergency shell.
Tried to mount:
MOUNT: /new_root: unknown filesystem type ‘crypto_LUKS‘
Tried to chroot, reinstall all packages, reinstall kernel, update-grub, some other methods from this & arch forums with downgrading mkinitcpio, running it with -P after messing with mkinitcpio.conf /etc/default/grub etc.
I’m lost, dunno what else I can do, no more information on this topic. Please help, need working OS ASAP.
It is an old and known one with grub. So check your boot entries. An older grub version can’t handle dashes like c0949ed2-cf41-4b82-bcb1-4563689838d5. You can try to change that to c0949ed2cf414b82bcb14563689838d5 and see if that boots.
Go to your boot menu, select the entry and press CTRL+E. check for the UUID line and remove the dashes of it. Press CTRL+X to execute. If that helps and you are able too boot call sudo sed -i -e '/cryptomount -u/ {s/-//g;s/ u/ -u/g}' /boot/grub/grub.cfg
Here is the full story from our older Troubleshoot Guideline:
2023-03-31
GRUB, LUKS and full disk encryption: 'no such cryptodisk found'
Following grub’s update, new configuration may be needed to be manually applied:
Based on the manual, unlike filesystem UUIDs, UUIDs for encrypted devices must be specified without dash separators. So check /boot/grub/grub.cfg for entries like cryptomount -u 3722dfb2-3b32-414b-bd59-4329fa92b6a9 and try to remove the dash separators. You have to redo that whenever you update a kernel or call update-grub on your own. You can read more about it here
A message “no such cryptodisk found” may appear on the following reboot, but should not prevent you from continuing by typing any key. This happens if you forgot to remove the dashes in /boot/grub/grub.cfg after update-grub got called.
We may add a alpm-hook to grub package to do that monkey job for you automatically. As an alternative you may reinstall grub, as the newer version can handle both cases, including the dashes.
Else check if the other UUID is correct and switch it around. Have to check how fstab entries for luks normally look like. Also remember if and why you have changed system configuration files.
Ran update-grub > reboot.
Error messages have changed to
ERROR: device ‘UUID=9072be81-7fab-440f-9f21-40c328c93b2c’ not found. Skipping fsck.
MOUNT: /new_root: can't find UUID=9072be81-7fab-440f-9f21-40c328c93b2c.
ERROR: failed to mount ‘UUID=9072be81-7fab-440f-9f21-40c328c93b2c’ on real root
You are now being dropped into an emergency shell.
sh: can't access tty: job control turned off
[rootfs ~]#
blkid states: /dev/sdb2: UUID="c0949ed2-cf41-4b82-bcb1-4563689838d5" TYPE="crypto_LUKS" PARTLABEL="root" PARTUUID="a974d905- 062a-f942-97c0-4f32a31cabb2" for your root partition and not UUID=9072be81-7fab-440f-9f21-40c328c93b2
Grub tells the system where the kernel and root partition is located, then it starts a bare minimum Linux system. That reads fstab and actually mounts the partition. If in the chain grub.cfg > fstab some mismatch exists it will bail out. Errors can also happen if /etc/default/grub has a false entry, as that is the base to generate your grub.cfg file.
Changing didn’t work. In grub linux root= to both ‘/dev/mapper/luks-c0949ed2-cf41-4b82-bcb1-4563689838d5’ and ‘UUID=c0949ed2-cf41-4b82-bcb1-4563689838d5’.