Score:2

How do I hibernate in Ubuntu 20.04?

gy flag

I have used Windows a couple years. Sometimes I had to shutdown laptop because of power loss or travel and the hibernate feature helped me. Now after switching to Ubuntu I found there is no hibernate feature. I have read some questions specifically this one. How to enable hibernate option in Ubuntu 20.04? Now after reading this guy's answer as he told I should have swap partition not swap file. Now unfortunately I have swap file. Now what if I wanted to hibernate WITH the swap file?

Score:1
cn flag

To enable Hibernation in 20.04 using Swapfile:

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.

Rushi Kaneria avatar
gy flag
After the first reboot it was stuck at the loading screen. I am kinda techy so I always press esc to see that Ido type something. It said failed to activate /swapfile Please help. I have windows usb disk and Ubuntu live usb
Rushi Kaneria avatar
gy flag
Ok the error was when you said to put # before UUID. Then I went to root through recovery mode then with a command mount -o remount,rw /dev/sda7 / which was my installation partition I got it in read write mode and then removed that # and rebooted. Worked.
Score:0
in flag

Hibernating is very fragile, and requires both operating system and driver support, both in linux and in windows. If any part of the system doesn't support hibernation, it won't work. Best case, it disables it and doesn't offer the option; worst case, the hibernation fails and you end up rebooting anyway, possibly after finding out some devices don't work correctly on wake up.

An answer in the question you linked to explains how to use a swapfile for hibernation. However, you must satisfy several different conditions for this to work, and if any of them are not met, it will fail.

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.