Povolení hibernace na Linuxu: Porovnání verzí
Skočit na navigaci
Skočit na vyhledávání
Bez shrnutí editace |
Bez shrnutí editace |
||
(Nejsou zobrazeny 4 mezilehlé verze od stejného uživatele.) | |||
Řádek 1: | Řádek 1: | ||
Povolení hibernace pro Ubuntu |
Povolení hibernace pro Ubuntu 22.04 se swap souborem: |
||
* Make your /swapfile have at least the size of your RAM |
* Make your /swapfile have at least the size of your RAM |
||
<source lang="bash"> |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
</source> |
|||
Note the UUID of the partition containing your /swapfile: |
|||
⚫ | |||
⚫ | |||
⚫ | |||
<source lang="bash">sudo findmnt -no SOURCE,UUID -T /swapfile</source> |
|||
Note the UUID of the partition containing your /swapfile: |
|||
⚫ | |||
* Get the resume offset of your /swapfile: |
|||
** Run sudo filefrag -v /swapfile |
|||
⚫ | |||
** In the "physical_offset" column, copy the first row number (without dots). Value example: 34816. |
|||
* Reconfigure the package uswsusp in order to correctly use the swapfile: |
|||
sudo apt install uswsusp |
|||
sudo dpkg-reconfigure -pmedium uswsusp |
|||
# Answer "Yes" to continue without swap space |
|||
# Select "/dev/disk/by-uuid/20562a02-cfa6-42e0-bb9f-5e936ea763d0" replace the UUID with the result from the previous findmnt command |
|||
# Encrypt: "No" |
|||
* Edit the SystemD hibernate service using sudo systemctl edit systemd-hibernate.service and fill it with the following content: |
|||
[Service] |
|||
ExecStart= |
|||
ExecStartPre=-/bin/run-parts -v -a pre /lib/systemd/system-sleep |
|||
ExecStart=/usr/sbin/s2disk |
|||
ExecStartPost=-/bin/run-parts -v --reverse -a post /lib/systemd/system-sleep |
|||
* Note the resume offset of your /swapfile: |
|||
⚫ | |||
resume offset = 34818 |
|||
* Configure Grub to resume from the swapfile by editing /etc/default/grub and modify the following line: |
* Configure Grub to resume from the swapfile by editing /etc/default/grub and modify the following line: |
||
⚫ | |||
⚫ | |||
* Update Grub: |
* Update Grub: |
||
<source lang="bash">sudo update-grub</source> |
|||
sudo update-grub |
|||
* Create the following /etc/initramfs-tools/conf.d/resume: |
* Create the following /etc/initramfs-tools/conf.d/resume: |
||
<pre> |
|||
RESUME=UUID=20562a02-cfa6-42e0-bb9e-5e936ea763d0 resume_offset=34816 |
|||
# Resume from /swapfile |
|||
</pre> |
|||
* Update initramfs: |
* Update initramfs: |
||
⚫ | |||
⚫ | |||
* K povolení volby hibernace v menu upravte soubor: |
* K povolení volby hibernace v menu upravte soubor: |
||
<source lang="bash">sudo mcedit /var/lib/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla</source> |
|||
Přidat následující obsah: |
Přidat následující obsah: |
||
<pre> |
|||
[Re-enable hibernate by default in upower] |
|||
Identity=unix-user:* |
|||
Action=org.freedesktop.upower.hibernate |
|||
ResultActive=yes |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
</pre> |
|||
Now you can hibernate with: |
Now you can hibernate with: |
||
* From power off menu |
|||
⚫ | |||
* From command line: |
|||
<source lang="bash">sudo systemctl hibernate</source> |
|||
* From command line: |
|||
<source lang="bash">sudo pm-hibernate</source> |
|||
=Troubleshooting= |
|||
⚫ | |||
<source lang="bash">systemctl status systemd-hibernate.service</source> |
|||
=See also= |
|||
[https://askubuntu.com/a/1132154 Původní návod na stackoverflow] |
* [https://askubuntu.com/a/1132154 Původní návod na stackoverflow] |
||
[[Kategorie:Linux]] |
[[Kategorie:Linux]] |
Aktuální verze z 28. 8. 2022, 11:15
Povolení hibernace pro Ubuntu 22.04 se swap souborem:
- Make your /swapfile have at least the size of your RAM
sudo swapoff /swapfile
sudo dd if=/dev/zero of=/swapfile bs=$(cat /proc/meminfo | grep MemTotal | grep -oh '[0-9]*') count=1024 conv=notrunc
sudo mkswap /swapfile
sudo swapon /swapfile
Note the UUID of the partition containing your /swapfile:
sudo findmnt -no SOURCE,UUID -T /swapfile
/dev/nvme0n1p5 20562a02-cfa6-42e0-bb9f-5e936ea763d0
- Get the resume offset of your /swapfile:
- Run sudo filefrag -v /swapfile
- In the "physical_offset" column, copy the first row number (without dots). Value example: 34816.
- Configure Grub to resume from the swapfile by editing /etc/default/grub and modify the following line:
GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=20562a02-cfa6-42e0-bb9f-5e936ea763d0 resume_offset=34816 quiet splash"
- Update Grub:
sudo update-grub
- Create the following /etc/initramfs-tools/conf.d/resume:
RESUME=UUID=20562a02-cfa6-42e0-bb9e-5e936ea763d0 resume_offset=34816 # Resume from /swapfile
- Update initramfs:
sudo update-initramfs -u -k all
- K povolení volby hibernace v menu upravte soubor:
sudo mcedit /var/lib/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
Přidat následující obsah:
[Re-enable hibernate by default in upower] Identity=unix-user:* Action=org.freedesktop.upower.hibernate ResultActive=yes [Re-enable hibernate by default in logind] Identity=unix-user:* Action=org.freedesktop.login1.hibernate ResultActive=yes
Now you can hibernate with:
- From power off menu
- From command line:
sudo systemctl hibernate
- From command line:
sudo pm-hibernate
Troubleshooting
Check why systemctl hibernate doesn't work:
systemctl status systemd-hibernate.service