Hello everyone!
My system is not going into hibernation after the last upgrade.
Hibernation option disappeared on the gnome control panel power tab and getting these message running systemctl hibernate: “Call to Hibernate failed: Not running on EFI and resume= is not set. No available method to resume from hibernation”
When the system hibernates, information about the device and offset
used is now written to a non-volatile EFI variable. On next boot the
system will attempt to resume from the location indicated in this EFI
variable. This should make hibernation a lot more robust, while
requiring no manual configuration of the resume location.
With systemd >= 255, it is no longer necessary to manually configure resume= kernel parameter when the system is running on EFI and a systemd-based initramfs is used.
Your error message clearly states you’re not running on EFI and resume= is not set. Maybe double check if your cmdline actually has a resume= entry.
As a quick workaround you could downgrade for now and wait until more dedicated people than us deliver solutions
Thank you for your reply! Yeah I figured out it was the systemd 255 update. Tried to downgrade, but it broke up everything so got to reboot into a previously saved snapshot
I assume the “resume=” parameter you’re talking about is on /etc/defaults/grub.
It’s already set and points to my swap partition.
Hibernation has stopped working on one of my three arch systems. I just can’t figure out why hibernation fails on just the one; I’ve set them up the same.
Hibernation isn’t crucial on this machine so I think I’ll just sit this one out and check the ArchWiki regularly. Please post if you happen to find a solution.
This is also broken for me. I am configured for resume to swapfile with resume= and resume_offset= in /etc/default/grub and the resume hook in dracut config.
My fellow humans, I have discovered the root cause and have a solution. The systemd changes require additional changes in dracut and those changes are not released yet. There is, however, a work around:
Be sure that your /etc/dracut.conf.d/resume.conf references systemd-hibernate-resume.service, like this. Link below.
This solution did not work for me, not sure why. Some of the other comments mentioned grub. I’m using systemd-boot for my bootloader if that makes a difference.
When I run systemctl status systemd-hibernate-resume.service the results are: