Table des matières
Mise en Hibernation avec un Fichier d'échange
Ubuntu a choisi la solution du fichier d'échange, mais sans la configurer de base. C'est à vous de tester pour voir si ça fonctionne sur votre machine.
!!!!! Il est possible qu'il faille créer une partition swap pour certains systèmes. !!!!!
Il faudra utiliser la procédure : par Partition de Swap avec UUID.
L'hibernation (ou mise en veille prolongée) permet d'éteindre votre ordinateur et de restaurer l'état exact de l'ordinateur lors de l'arrêt. La mémoire vive est :
- sauvegardée complètement sur la partition ou le fichier d'échange (
swap
en anglais) lors de l'arrêt, puis - restaurée complètement lors du démarrage.
Ce mécanisme est désactivée par défaut dans Ubuntu, il suffit de suivre la procédure ci-dessous si vous souhaitez l'activer.
Configuration de l'espace d'échange
La taille de cette espace d'échange doit être au moins égale à la taille de la mémoire vive de l'ordinateur.
Afficher la mémoire disponible
Dans un terminal, tapez la commande df -h
:
# free -h total used free shared buff/cache available Mem: 487M 219M 54M 4.5M 214M 228M Swap: 1.5G 0B 1.5G
Dans l'exemple, la taille de la mémoire vive est de 487 Mo.
Vérifier la taille de la partition d'échange
Dans un terminal, tapez la commande swapon -s
:
# swapon -s Nom de fichier Type Taille Utilisé Priorité /dev/sda2 partition 524288 0 -2
Obtenir l'identifiant de la partition de d'échange :
# grep swap /etc/fstab # swap was on /dev/sdc1 during installation UUID=4711b69b-e60b-41db-8b02-4189dcfed370 none swap sw 0 0
Autre méthode :
# blkid | grep swap /dev/sda2: UUID="4711b69b-e60b-41db-8b02-4189dcfed370" TYPE="swap" PARTUUID="f9cb8cba-01"
Dans l'exemple, la taille de l'espace d'échange est de 512 Mo (512 * 1024).
Si la taille de votre partition d'échange est assez grande, passez l'étape de création d'un fichier d'échange.
Création d'un fichier d'échange
Pour créer un fichier d'échange de 1 Go :
# sudo fallocate -l 1g /swapfile # sudo chmod 600 /swapfile # sudo mkswap /swapfile Configure l'espace d'échange (swap) en version 1, taille = 1024 MiB (1073737728 octets) pas d'étiquette, UUID=76d4eab6-5984-4eb4-90eb-3a4d510492f3
Activation du fichier de swap pour obtenir son identifiant (UUID) :
# sudo swapon /swapfile # swapon -s Nom de fichier Type Taille Utilisé Priorité /dev/sda2 partition 524288 0 -2 /swapfile file 1048572 0 -3 # findmnt -no SOURCE,UUID -T /swapfile /dev/sda1 0275f3b7-126f-451f-a822-e0962d33ae0f
Modification du fichier /etc/fstab pour que le fichier de swap soit monté automatiquement à chaque démarrage :
# sudo sh -c 'echo "UUID=0275f3b7-126f-451f-a822-e0962d33ae0f none swap sw 0 0" >> /etc/fstab'
Activation de l'hibernation
Prise en compte de l'identifiant de l'espace d'échange
Mise à jour du fichier de démarrage
Indiquez l'identifiant de votre espace d'échange à utiliser au fichier de démarrage et mise à jour du fichier de démarrage:
# sudo sh -c 'echo "RESUME=UUID=0275f3b7-126f-451f-a822-e0962d33ae0f" > /etc/initramfs-tools/conf.d/resume' # sudo update-initramfs -u -k $(uname -r)
Mise à jour du gestionnaire de démarrage
Indiquez l'UUID de votre espace de swap au gestionnaire de démarrage et mise à jour du gestionnaire de démarrage ;
# sudo sed -i 's/\(GRUB_CMDLINE_LINUX=.*\)"$/\1 resume=UUID=0275f3b7-126f-451f-a822-e0962d33ae0f"/' /etc/default/grub # sudo update-grub
Installation d'un gestionnaire d'hibernation
# sudo apt install hibernate
Intégration de l'hibernation au bureau
Création du fichier de configuration :
# cat > /tmp/com.ubuntu.enable-hibernate.pkla << EOF [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;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit ResultActive=yes EOF # sudo cp /tmp/com.ubuntu.enable-hibernate.pkla /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla # rm -f /tmp/com.ubuntu.enable-hibernate.pkla
Redémarrage l'ordinateur
Il est nécessaire de redémarrer l'ordinateur pour que les modifications soient prisent en compte.
Mise en veille prolongée
Cliquez sur le bouton “Mise en veille prolongée” présent dans le menu lorsque vous cliquez sur le bouton d'arrêt :
Que faire si l'hibernation ne fonctionne pas
Si après une mise en veille prolongée, vous ne retrouvez pas votre environnement dans l'état où vous l'avez laissé, consultez le wiki Ubuntu sur l'hibernation qui fourni des solutions à des problèmes courants.
Quelques solutions possibles :
- mettre à jour votre BIOS : le problème est peut-être corrigé dans la mise à jour
- mettre à jour votre distribution : le problème est peut-être corrigé dans la mise à jour
Si rien n'y fait, vous pouvez sauvegarder votre sessions en éteignant votre ordinateur en cochant l'option “Enregistrer la session pour les prochaines connexions” dans le menu d'arrêt, vos applications seront lancées au démarrage, mais pas dans l'état lors de l'arrêt :
Retour d'expérience sur la veille prolongée
Les points positifs :
- consommation électrique nulle en état de veille prolongée, ce n'est pas le cas pour la veille standard
- risque de casser sont disques plus faible qu'en veille standard
Les points négatifs :
- pour les vieux PC avec beaucoup de mémoire, l'entrée et la sortie de l'hibernation peut être très long
Voire : https://askubuntu.com/questions/1240123/how-to-enable-hibernate-option-in-ubuntu-20-04