"ERROR: device UUID not found. Skipping fsck" after update

After doing an update and reboot today, I got the following error after entering the disk decryption password:

 ERROR: device 'UUID=0aa78..." not found. Skipping fsck.
mount: /new_root: can't find UUID=0aa78...
You are now being dropped into an emergency shell.
sh: can't access tty: job control turned off

Also noticed the manjaro boot menu is not graphical like it was before, but text only.
I tried the steps here: wiki.manjaro org/index.php/GRUB/Restore_the_GRUB_Bootloader
but after “grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck” I get
“grub-install: error: failed to get canonical path of `/dev/nvme0n1p1’.”

/etc/fstab:

UUID=9F5B-8F48 /boot/efi vfat umask=0077 0 2
/dev/mapper/luks-36f2b38a-6588-487f-9719-6fc8177937f3 / ext4 defaults,noatime 0 1
/swapfile swap swap defaults,noatime 0 0

blkid from usb boot:

/dev/nvme0n1p1: LABEL_FATBOOT="NO_LABEL" LABEL="NO_LABEL" UUID="9F5B-8F48" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="144b788b-cc28-1b42-9092-c5b3e385f3dc"
/dev/nvme0n1p2: UUID="36f2b38a-6588-487f-9719-6fc8177937f3" TYPE="crypto_LUKS" PARTLABEL="root" PARTUUID="41f7a0c5-fdc3-6645-8a69-cfbf5757053f"
/dev/mapper/luks-36f2b38a-6588-487f-9719-6fc8177937f3: UUID="0aa789d5-2442-451d-ae3a-d09b81d68333" BLOCK_SIZE="4096" TYPE="ext4"

Please help me to fix my system.

Edit your post - instead of quotes, use preformatted text, ie. </>

When dropped in emergency shell, try:

mount /dev/mapper/luks-36f2b38a-6588-487f-9719-6fc8177937f3 /new_root
exit

Does that boot your system? If not, what is the error?

EDIT: Disregard above.

Just for anyone else; we were troubleshooting this on irc, but it’s hard to pull complete errors and info out of him. :stuck_out_tongue:

[…]
<zbe> Show ‘cat /etc/default/grub’
<void09> https://termbin.com/2kf1
<void09> looks wrecked
<void09> there was a long line there with the cryptsetup
<zbe> Why don’t i see it then
<void09> cause it’s not there
<void09> something happened, sometime
[…]

There is no /dev/mapper/luks-36f… in the emergency shell, but doing cryptsetup /dev/nvme0n1p2 whatever and then mount /dev/mapper/whatever /new_root, then exit, got me back in my system.
But after mounting the new_root and typing exit, i can see
“failed to start Cryptography setup for luks-36…”
and
“Dependency failed for local encrypted volumes”
errors before plasma starts.

Let me know if you know how to fix this for good.

Tried to boot/install another kernel? Try to install from chroot a more recent kernel, or an older one, see if that changes something.

Before that make sure the system is fully upgraded.

It’s fully updated, and I have tried like 4 kernels. I do not need to chroot now that I can get in my own system, with manual cryptsetup and mount /new_root
This is /etc/default/grub: termbin. com/2kf1

@zbe stop being an asshat, you say it’s hard to get complete info from me, then proceed to show the exact opposite, me providing exactly what you asked. You then ask why is not the crypsetup line there, but then if I knew, like I’m supposed to know what happened. I wouldn’t be here if I knew.

Ah, so trying to help you for an hour and a half at 7 AM and then giving others some relevant info to help you further is being an asshat.

I appreciate your help attempts, but saying it’s hard to get info out of me is untrue, I provided the results of every command you asked for. Not sure why you keep repeating that, and why you had to mention it yet again here, potentially disincetivizing others to help (otherwise I wouldn’t really care).

So the order of things is:

  1. Power on computer
  2. A plain prompt to unlock nvme0n1p2 (via rudimentary Grub loader method)
  3. Unlock is successful?
  4. Yet you never see a graphical theme’d Grub menu after this?
  1. Power on computer
  2. I get the normal key prompt to unlock the encrypted partition, yes
  3. Unlock is successful, but boot menu (pressing shift) is text only, not graphical like before.
  4. I get the laptop uefi splash screen instead of the normal text log (i enabled it cause i hate not seeing what’s going on)
  5. Then the error message in the first post appears, which I can bypass with manual cryptsetup & mount /new_root & exit

It appears the grub config files has been reset to a default for some reason, after the update. How can I regenerate this ?

With a live USB from inside a chroot (i.e, manjaro-chroot):

  1. Re-install Grub (as EFI mode, like your installer already did)
    1.a Optionally, check and (re)install the latest stable kernel or LTS kernel
  2. Rebuild the initramfs
  3. Update the Grub config

As I said, there is no need to chroot as I can access the system normally.
Please tell me exactly what reinstalling grub in efi mode would be. pacman -S grub?
same for 2 and 3.
I already installed/reinstalled kernels, and ran sudo update-grub, it didn’t fix it.

Not the package. The actual installation of the Grub bootloader using grub-install

You might be able to get away with simply issuing grub-install without any parameters or options, as long as your mounts are available (/boot/ is accessible, and you have your EFI system partition mounted) and everything is autodetected properly.


To rebuild the initramfs, you use the mkinitcpio command with the -P parameter to use all existing kernel presets, so basically mkinitcpio -P

To update the grub config, it’s simply a matter of issuing update-grub without any parameters.


EDIT: While you’re at it, the following contents can help:

  • /etc/crypttab

  • /etc/mkinitcpio.conf

I ran all the commands suggested, no fix. I believe /etc/default/grub is not updated properly, as I think it contained a kernel paramter for luks, which is now missing (as well as the other stuff that was there).

Comment out the line in your crypttab. The initramfs takes care of it.


Try to re-order your hooks in your mkinitcpio.conf so that block comes before autodetect.

Mine looks like this:

HOOKS="base udev block autodetect modconf keyboard keymap encrypt filesystems fsck"

Then add your cryptdevice option to the GRUB_CMDLINE_LINUX_DEFAULT line in your /etc/default/grub

It should look something like so:

GRUB_CMDLINE_LINUX_DEFAULT="quiet nvme_load=YES cryptdevice=UUID=36f2b38a-6588-487f-9719-6fc8177937f3:luks-36f2b38a-6588-487f-9719-6fc8177937f3:allow-discards rd.luks.options=allow-discards root=/dev/mapper/luks-36f2b38a-6588-487f-9719-6fc8177937f3 apparmor=1 security=apparmor udev.log_priority=3

Then rebuild the initramfs and update Grub again with the respective commands.

Just tried the fix suggestion above and can confirm it is working. Everything is back to normal, minus the graphical boot menu splash screen.

1 Like

You might have to re-install the relevant theme from the package manager: grub-theme-manjaro

Also, double check the entry in your /etc/default/grub named GRUB_THEME, as it should look like so:

GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

Make sure to run update-grub once again for the changes to take effect.


Just a heads up, when this type of thing happens I seriously consider a fresh installation of the operating system, since there’s no telling what else is missing / broken.

Did the update back in early July complete successfully? There’s no reason it would randomly reset your boot/grub configurations.