Can't figure out how to make hibernate resume properly

I wanted to move my linux install to a new drive, so I installed Manjaro on that drive then copied my file system overwriting the installed one. When I installed the new one, I chose a swap with hibernate abilities when my old one I had no swap. Something interesting to me is without any setup, it was using the swap partition and allowed hibernation but didn’t resume correctly, just starting as if it was off. I decided to try to set up hibernation. Nothing I have tried has worked though so far.
I added the partition UUID to grub. Two places just to make sure.

GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash udev.log_priority=3 resume=UUID=ff28484c-6ab7-41ad-9276-d8107ce46f7b"
GRUB_CMDLINE_LINUX="resume=UUID=ff28484c-6ab7-41ad-9276-d8107ce46f7b"

I added the swap partition to the fstab.

UUID=ff28484c-6ab7-41ad-9276-d8107ce46f7b   none   swap  defaults  0 0

also tried

UUID=ff28484c-6ab7-41ad-9276-d8107ce46f7b   swap   swap  defaults,noatime  0 0

Added to the /etc/mkinitcpio.conf. Also have tried moving around where “resume” is.

HOOKS="base udev resume autodetect modconf block keyboard keymap consolefont plymouth filesystems fsck"

I have made sure to sudo mkinitcpio -P and sudo update-grub each time. Nothing has worked so far, grub just does it’s normal menu then I boot normally.
I recently got a new ROG motherboard, so I don’t know if that affects things. I don’t know much about BIOS stuff, but I can say I have secure boot on and CSM off if that affects things

Size of SWAP partition (in relation to RAM)?
Partition filesystem (ext4, btrfs)?

And heres the archwiki
https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate#Hibernation

The swap partition is just slightly bigger than the RAM size. My root partition seems to be ext4

Then boot into your firmware and check if settings could affect hibernation.

Sure? This usually prevents Manjaro from booting…

Might work, bur larger is better, I would size it not smaller than 150% of your RAM if you want to hibernate.

Double check if the UUID is still correct.

Which settings should I check?

Maybe it isn’t on then. I’m not the most familiar with the BIOS and lower-level computer stuff like booting.

From what I can tell, it’s correct. Unless I’m reading this wrong.

I don’t know your firmware, so best would be to go through settings and check anything mentioning “hibernate”, “suspend”, “sleep” or similar wording.

OK, then please post

cat /etc/fstab
cat /etc/default/grub

Have you updated your system?

Can you explain this a bit more detailed? Have the two systems being on the same update status before copying?

I have tried different things with these, but this is what they currently are.

# /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=3fbbd881-cb4a-4e22-a443-ecdbd1d324dc   /                           ext4    noatime             0 1
UUID=F614-0982                              /boot/efi                   vfat    umask=0077          0 2
UUID=ff28484c-6ab7-41ad-9276-d8107ce46f7b   none                        swap    defaults            0 0
tmpfs                                       /tmp                        tmpfs   noatime,mode=1777   0 0

# GRUB boot loader configuration

GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash udev.log_priority=3 resume=UUID=ff28484c-6ab7-41ad-9276-d8107ce46f7b"
GRUB_CMDLINE_LINUX="resume=UUID=ff28484c-6ab7-41ad-9276-d8107ce46f7b"

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Set to 'countdown' or 'menu' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=hidden

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command 'videoinfo'
GRUB_GFXMODE=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/usr/share/grub/background.png"
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
GRUB_SAVEDEFAULT=true

# Uncomment to disable submenus in boot menu
#GRUB_DISABLE_SUBMENU=y

# Uncomment this option to enable os-prober execution in the grub-mkconfig command
GRUB_DISABLE_OS_PROBER=false

# Uncomment to ensure that the root filesystem is mounted read-only so that
# systemd-fsck can run the check automatically. We use 'fsck' by default, which
# needs 'rw' as boot parameter, to avoid delay in boot-time. 'fsck' needs to be
# removed from 'mkinitcpio.conf' to make 'systemd-fsck' work.
# See also Arch-Wiki: https://wiki.archlinux.org/index.php/Fsck#Boot_time_checking
#GRUB_ROOT_FS_RO=true

The old/current file system did not say it had any updates available when I made the new installation, and currently doesn’t and hasn’t since. I don’t know what the update status of the new installation was, but I downloaded a minimal image right before making it, which I used. I replaced the root partition, but not the efi boot one. I just used the boot one the new installation created.

I would change this in your /etc/default/grub for the moment to:

GRUB_TIMEOUT=10

GRUB_TIMEOUT_STYLE=menu

to give you a chance to verify what boot entry you are really applying.

After the change run

sudo update-grub

and reboot.

This is very unusual. Double check again:

sudo pacman-mirrors -f && sudo pacman -Syyu

I have never heard there were no updates after installing even from a very fresh ISO.

I never actually booted the fresh install. I completely overwrote it’s partition with my existing manjaro root partition, which was up-to-date, then edited the fstab and I think also updated grub.

Then what?

…and what happened to files in ~/.gnupg ~/.kde4 ~/.local ~/.ssr for example? Or do you mean everything including Home folder data? If you overworte everything I would try to update and the to restore the boot loader.

I used GParted in a bootable media and just copied the whole old root partition into the new one, supposedly completely overwriting it. I expected it to not work, that’s why I still have the original installation on the old drive, but it seems to be working fine for me right now.

Then double check the UUID of the / partition. Probably it’s not matching with your /etc/fstab entry. Afterwards, I still would recommend to restore the boot loader.

It seems to be right to me, but I don’t know too well.

In the / line: Replace
noatime
with
defaults,noatime
and reboot.

I’ve done that now. Everything seems to act the same

  • Did you adjust the swap size?
  • Have you changed /etc/default/grub (temporary) to verify what boot entry you are actually booting?
  • Tried to restore the boot loader?
  • Did you boot both systems always in UEFI mode?
  • Did you try to update again?
  • Any findings in the firmware?

I’ve tried restoring the boot loader, and the system seems up-to-date. I found an option about some sort of fast boot and disabled it; that didnt seem to work. idk what the UEFI stuff is, but it seems like it has always been in it I’m guessing? Seems I’m using the right boot entry.

I may just delete the swap partition; I don’t need hibernate too badly.

Very good.

Afterwards you could not boot or do you mean it has no effect?

Is this a dual boot with Windoze? If yes, disable Fast startup in Windoze as well.

So, no answer yet to the size adjustment of the swap partition.

Another possible approach: Try another kernel, e.g. 6.6 or even 6.7.


Certainly, if you can live without hibernation and the system performance is OK, then it is fine as well to keep it as it is, for the moment.

no effect

it is dual-booting windows but idk how id change it specifically for windows as it was just a motherboard uefi/bios firmware option

i didn’t feel itd be worth it for the chance of success as its already the same size as my memory amount and when im testing im using only like 1GiB

idk if i really want to do that much for it, how easy is that to do?

also, im gonna point out that the hard drive activity light flashes when i hibernating, making it seem that part works

Nothing easier than that:

sudo mhwd-kernel -i linux66

or

sudo mhwd-kernel -i linux67

These are manjaro specific meta operations doing all what is needed (except for headers) to install another kernel.