M HYPE SPLASH
// news

How to enable hibernate on ubuntu 20.04 LTS [duplicate]

By Abigail Rogers

How can I enable hibernate on fresh installed system if it's possible.

# /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>
# / was on /dev/nvme0n1p2 during installation
UUID=c14a936e-6c0f-4228-beec-c39bc515b157 / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=1036-AA2D /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0

I tried In /ect/default/grub - GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=c14a936e-6c0f-4228-beec-c39bc515b157", but this is not working. Thanks.

11

1 Answer

To enable Hibernation in 20.04:

Increase swapfile size to match RAM size up to 8GB.

  • Check the swap that is in use:

    sudo swapon -s
  • If swap partition(s) are found:

    sudo swapoff -a
    sudo nano -Bw /etc/fstab
  • Add # before the UUID of the swap partition(s):

    # UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX none swap sw 0 0
  • Add a line for the swapfile, if one does not exist:

    swapfile none swap sw 0 0
  • Create the swapfile:

    sudo fallocate -l XG /swapfile*

    where X is swapfile's size in GB:

    sudo mkswap /swapfile
    sudo chmod 0600 /swapfile
    sudo swapon /swapfile
  • Reboot:

    sudo reboot

Add resume location and offset to grub.cfg:

  • Edit /etc/default/grub:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX resume_offset=XXXXX"
  • Use UUID from root.

  • Use offset from:

    sudo filefrag -v /swapfile |grep " 0:"| awk '{print $4}'
  • Update GRUB:

    sudo update-grub
  • Test hibernation:

    sudo systemctl hibernate

A hibernate button can be added using GNOME extensions.

Note that there is a slight possibility of getting holes in a swapfile when creating it with fallocate. /var/log/syslog can be searched for the phrase swapon: swapfile has holes to ensure there will be no data loss.

A swap file can alternatively be created using dd:

sudo dd if=/dev/zero of=/swapfile bs=1G count=8

An error when using dd may overwrite your HDD.

9