Activer l'hibernation
Sur Pop!_OS
Prérequis
Vérifiez si le noyau prend en charge l'hibernation
cat /sys/power/state
Il devrait figurer disk
en option sur la liste.
Vérifiez si un fichier d'échange ou une partition est disponible
free -h
Si Swap
est répertorié comme 0, cela signifie qu'un swap n'est pas disponible et doit être créé.
Créer un fichier d'échange
Configurer l'hibernation
Lister le swap
cat /proc/swaps
- Le fichier d'échange est généralement répertorié comme
/swapfile
- La partition d'échange est répertoriée comme
/dev/sdxx
Swap UUID
Obtenez l'UUID pour le swap
findmnt -no UUID -T /swapfile
Cela ressemble à quelque chose comme ci-dessous :xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Décalage de permutation
Ceci n'est nécessaire que lorsqu'un fichier d'échange est disponible. Obtenez le décalage.
sudo filefrag -v /swapfile | awk '{ if($1=="0:"){print $4} }'
Cela ressemble à quelque chose comme ci-dessous :9999999..
Mettre à jour les options du noyau
Pour un fichier d'échange
sudo kernelstub -a 'resume=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx resume_offset=9999999'
En cas de mauvaise manipulation ou mauvais chiffre entré, l'option -d
a la place de la -a
permet d'effacer l'entrée.
Pour une partition Swap, l'option resume_offset
n'est pas nécessaire
sudo kernelstub -a 'resume=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
Ajouter ci-dessous la ligne à /etc/initramfs-tools/conf.d/resume
. Créer le fichier s'il n'est pas présent et ajouter :
Pour un fichier d'échange
resume=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx resume_offset=9999999
Pour une partition d'échange
resume=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Mettre à jour les configurations
sudo update-initramfs -u
Tester l'hibernation
N'oubliez pas de sauvegarder votre travail avant d'essayer ceci
sudo systemctl hibernate
Ajouter l'option au menu
Ajouter l'extension system-action-hibernate
Ajouter les lignes suivantes dans /etc/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
[Enable hibernate in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
[Enable hibernate in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes
Sur Debian, Ubuntu, LinuxMint
Prérequis
Vérifiez si le noyau prend en charge l'hibernation
cat /sys/power/state
Il devrait figurer disk
en option sur la liste.
Vérifiez si un fichier d'échange ou une partition est disponible
free -h
Si Swap
est répertorié comme 0, cela signifie qu'un swap n'est pas disponible et doit être créé.
Créer un fichier d'échange
Configurer l'hibernation
Lister le swap
cat /proc/swaps
- Le fichier d'échange est généralement répertorié comme
/swapfile
- La partition d'échange est répertoriée comme
/dev/sdxx
Swap UUID
Obtenez l'UUID pour le swap
findmnt -no UUID -T /swapfile
Cela ressemble à quelque chose comme ci-dessous :xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Décalage de permutation
Ceci n'est nécessaire que lorsqu'un fichier d'échange est disponible. Obtenez le décalage.
sudo filefrag -v /swapfile | awk '{ if($1=="0:"){print $4} }'
Cela ressemble à quelque chose comme ci-dessous :9999999..
Mettre à jour les options du noyau
Pour un fichier d'échange
Rajouter ces options dans /etc/default/grub
et rajouter au niveau de la ligne GRUB_CMDLINE_LINUX_DEFAULT=
resume=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx resume_offset=9999999
Pour une partition Swap, l'option resume_offset
n'est pas nécessaire
resume=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Ajouter ci-dessous la ligne à /etc/initramfs-tools/conf.d/resume
. Créer le fichier s'il n'est pas présent et ajouter :
Pour un fichier d'échange
resume=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx resume_offset=9999999
Pour une partition d'échange
resume=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Mettre à jour les configurations
sudo update-initramfs -u && sudo update-grub
Tester l'hibernation
N'oubliez pas de sauvegarder votre travail avant d'essayer ceci
sudo systemctl hibernate
Ajouter l'option au menu
Ajouter l'extension pour Gnome system-action-hibernate
Ajouter les lignes suivantes dans /etc/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
[Enable hibernate in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
[Enable hibernate in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes