How do I fix Manjaro error hibernation device not found on boot?
After installing updates and restarting I got these errors.
ERROR: resume: hibernation device 'UUID=long number here' not found
ERROR: device '/dev/mapper/ManjaroVG-ManjaroRoot' not found. Skipping fsck.
ERROR: Unable to find root device '/dev/mapper/ManjaroVG-ManjaroRoot'.
Then I am dropped to recovery shell with the message SH: can't access tty: job control turned off
.
This is a less than a week old install I checked lvm and luks encryption on the graphical installer.
Solution 1:
I keep having this problem in Arch Linux and Manjaro, when my Laptop runs out of battery while being in standby.
My solution in Arch is to run:
sudo mkinitcpio -p linux
Under Manjaro you might have to figure out which kernel to use and then run the command adding the specific kernel-version (pick the higher number if two are available), also you might need to restarts until everything behaves normal again:
ls /etc/mkinitcpio.d
sudo mkinitcpio -p linux44 #in my case...
Btw, since the system is not booting anymore if you run into this issue, the fallback-boot in Arch/Manjaro usually helps to start the system in the first place. (if someone was wondering ;-) )
It seems mkinitcpio
resets the boot-process without any side-effects. I would love to here a proper answer and explanation for the issue but for now I am happy to have found a solution.
mkinitcpio is a Bash script used to create an initial ramdisk environment.
Further readings:
- More information about mkinitcpio
- Another useful page
Solution 2:
Did you repartition your swap? If so, the UUID of the swap partition, which is used for hibernation, may have changed. Then this procedure may help.
- Live-boot and access your filesystem by mounting it.
- Find the new swap UUID via
sudo blkid
- Substitute the old, erroneous UUID with the new UUID in
/etc/fstab/
and/etc/default/grub
.
Details:
Boot up a live-boot USB. Use sudo fdisk -l
to find the name of your Linux partition. Then mount it. For example, if your partition is /dev/sda1
run sudo mount /dev/sda1 /mnt
.
Now cd /mnt
so you can explore your filesystem. Run sudo blkid
to find the UUID for your swap partition. If it's not labelled, first use gparted
to identify which partition is swap.
Comment out the old UUID from /etc/fstab/
and /etc/default/grub/
and underneath write a new line of code substituting in the new UUID. Editting the first file will tell your system where the swap directory lives. Editting the second file will suppress the error as it searches for the previous swap UUID.
Solution 3:
I am running Manjaro on virtualbox and ran into this issue when I resized my partition. What finally worked for me was:
-
sudo blkid
to get the new UUID of the swap partition. -
Replace the UUID in
/etc/fstab
and in/etc/default/grub
. -
Generate new
/boot/grub/grub.cfg
with the following commandsudo grub-mkconfig -o /boot/grub/grub.cfg
And reboot. The error message doesn't show up anymore.
Solution 4:
Im my case in Manjaro
from here: https://forum.manjaro.org/t/error-manjaro-error-hibernation-device-not-found-on-boot/38950/4
In
/etc/fstab
and
/etc/default/grub
I removed the lines with "UUID=thatnumber_notfound..."
then I used what you say
sudo mkinitcpio.conf -p linux419 (in my case of Manjaro with 4.19)
sudo update-grub
And that eliminate the error of the device not found