Povolení hibernace na Linuxu: Porovnání verzí

Z ZděchovNET
Skočit na navigaci Skočit na vyhledávání
Bez shrnutí editace
Bez shrnutí editace
Řádek 2: Řádek 2:


* 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">
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
</source>


sudo swapoff /swapfile
Note the UUID of the partition containing your /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


<source lang="bash">sudo findmnt -no SOURCE,UUID -T /swapfile</source>
Note the UUID of the partition containing your /swapfile:
<pre>/dev/nvme0n1p5 20562a02-cfa6-42e0-bb9f-5e936ea763d0</pre>

$ sudo findmnt -no SOURCE,UUID -T /swapfile
/dev/nvme0n1p5 20562a02-cfa6-42e0-bb9f-5e936ea763d0


* Get the resume offset of your /swapfile:
* Get the resume offset of your /swapfile:
Řádek 18: Řádek 19:


* 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:
<pre>GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=20562a02-cfa6-42e0-bb9f-5e936ea763d0 resume_offset=34816 quiet splash"</pre>

GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=20562a02-cfa6-42e0-bb9f-5e936ea763d0 resume_offset=34818 quiet splash"


* 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=UUID=20562a02-cfa6-42e0-bb9e-5e936ea763d0 resume_offset=34816
# Resume from /swapfile
# Resume from /swapfile
</pre>


* Update initramfs:
* Update initramfs:
<source lang="bash">sudo update-initramfs -u -k all</source>

sudo update-initramfs -u -k all


* K povolení volby hibernace v menu upravte soubor:
* K povolení volby hibernace v menu upravte soubor:
sudo mcedit /var/lib/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
<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]
[Re-enable hibernate by default in upower]
Identity=unix-user:*
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
Action=org.freedesktop.upower.hibernate
ResultActive=yes
ResultActive=yes
[Re-enable hibernate by default in logind]

Identity=unix-user:*
[Re-enable hibernate by default in logind]
Action=org.freedesktop.login1.hibernate
Identity=unix-user:*
ResultActive=yes
Action=org.freedesktop.login1.hibernate
ResultActive=yes
</pre>


Now you can hibernate with:
Now you can hibernate with:
* From power off menu
sudo systemctl hibernate.
* From command line:
<source lang="bash">sudo systemctl hibernate</source>
* From command line:
<source lang="bash">sudo pm-hibernate</source>



[https://askubuntu.com/a/1132154 Původní návod na stackoverflow]
[https://askubuntu.com/a/1132154 Původní návod na stackoverflow]

Verze z 28. 8. 2022, 07:58

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


Původní návod na stackoverflow