Récupération de l'option d'hibernation, mais ne peut pas reprendre à partir d'Hibernate

10

Dans mon Ubuntu 12.04, l'option d'hibernation fonctionnait bien. Cependant, j'ai installé Debian sur une autre partition récemment et quand j'ai à nouveau essayé de démarrer sur Ubuntu, j'ai reçu un message sur l'écran de démarrage:

Le lecteur de disque pour / n'est pas encore prêt ou n'est pas présent. Continuez d'attendre; ou appuyez sur s pour ignorer le montage ou sur M pour une récupération manuelle.

Après m'être connecté à Ubuntu, je constate que mon option d'hibernation a disparu.

Existe-t-il de toute façon de récupérer l'option d'hibernation?

EDIT: J'ai résolu le problème du lecteur de disque et j'ai récupéré l'option d'hibernation. Quand j'ai fait "sudo pm-hibernate", mon système est passé en hibernation. Cependant, lors de la remise sous tension, il a démarré normalement et il n'y a donc eu aucun effet d'hibernation.

Comment y remédier?

EDIT1: Système - Lenovo ideapad s10-2.

entrez la description de l'image ici

EDIT2: / etc / fstab

entrez la description de l'image ici

EDIT3: Capture d'écran de mon disque dur.

entrez la description de l'image ici

harisibrahimkv
la source

Réponses:

12

Je suppose que vous avez installé Debian d'une manière qui utilise sa propre partition de swap séparée. Si ce n'est pas le cas, je vous suggère de le faire (créez une autre partition de swap et modifiez les /etc/fstabfichiers en conséquence), car des systèmes d'exploitation trop différents écrivant sur la même partition de swap peuvent supprimer les données d'hibernation stockées sur la partition par l'autre OS.

Ensuite, vous devez vous assurer que le système d'exploitation sur lequel vous souhaitez utiliser l'hibernation (généralement les deux), écrit sur la partition appropriée. Ceci est configuré dans le /etc/initramfs-tools/conf.d/resumefichier. Vous devez y mettre l'UUID de la partition de swap correcte (utilisez sudo blkid /dev/$device_namepour obtenir l'UUID). Enfin, vous devez mettre à jour le disque virtuel initial:

sudo update-initramfs -u -k all

Cela devrait le réparer.

LiveWireBT
la source
1
Cela a parfaitement fonctionné. Merci, j'ai récupéré mon hibernation. :)
harisibrahimkv
1
Moi aussi, j'ai eu des problèmes de reprise d'hibernation. Après avoir en quelque sorte changé l'UUID de ma partition de swap, mon système ne reprendrait pas quoi que je semble faire. La correction de mon /etc/initramfs-tools/conf.d/resume , en copiant-collant l'UUID de sudo blkidsemble avoir résolu le problème.
TSJNachos117
2

Malheureusement, la mise en veille prolongée ne fonctionne pas dans de nombreux cas, ce qui peut vous faire perdre des données si vous vous attendez à ce que vos documents et applications se rouvrent lorsque vous rallumez votre ordinateur. Par conséquent, la mise en veille prolongée est désactivée par défaut.

Tester si l'hibernation fonctionne

Remarque : enregistrez toujours votre travail avant d'hiberner
Vous devez enregistrer tout votre travail avant d'hiberner l'ordinateur, juste au cas où quelque chose se passe mal et que vos applications et documents ouverts ne peuvent pas être récupérés lorsque vous rallumez l'ordinateur.

Vous pouvez utiliser la ligne de commande pour tester si la mise en veille prolongée fonctionne sur votre ordinateur.

  1. Ouvrez le terminal en appuyant sur Ctrl+ Alt+ Tou en recherchant le terminal dans le Dash.

  2. Tapez sudo pm-hibernatedans le terminal et appuyez sur Enter.
    Entrez votre mot de passe lorsque vous y êtes invité.

  3. Une fois votre ordinateur éteint, rallumez-le. Vos applications ouvertes ont-elles rouvert?

Si la mise en veille prolongée ne fonctionne pas, vérifiez si votre partition de swap est au moins aussi grande que votre RAM disponible.

Activer la mise en veille prolongée

Si le test de mise en veille prolongée fonctionne, vous pouvez continuer à utiliser la sudo pm-hibernatecommande lorsque vous souhaitez mettre en veille prolongée.

Vous pouvez également activer l'option de mise en veille prolongée dans les menus. Pour ce faire, utilisez votre éditeur de texte préféré pour créer /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla. Ajoutez ce qui suit au fichier et enregistrez:

[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.hibernate-multiple-sessions
ResultActive=yes

Redémarrez et l'hibernation est de retour!

Ou exécutez killall unity-panel-servicesimplement pour réinitialiser le menu.

Certains utilisateurs devront ensuite s'exécuter sudo update-grubpour que l'option de mise en veille prolongée soit disponible dans le menu d'alimentation. Certains utilisateurs peuvent également devoir au moins se déconnecter puis se connecter pour qu'il apparaisse dans le menu d'alimentation (en haut à droite).

Source : Ubuntu Docs - Power Hibernate

Source : Ubuntu Wiki - Debugging Kernel Hibernate

Fergus Incoronato
la source
0

Essayez d'ajouter une nobootwaitoption à /etc/fstabquelque chose comme ceci:

/dev/sda1 / ext4 rw,nobootwait 0 1

Frantique
la source
Pourriez-vous clarifier cela? Mon / etc / fstab a l'entrée suivante pour ma partition de swap: # swap était sur / dev / sda8 lors de l'installation UUID = 08a07061-165b-4f0a-87c3-470a02d1ea4c aucun swap sw 0 0 Devrais-je changer "sw" en "rw, nobootwait "?
harisibrahimkv
Vous devez l'ajouter à votre point de montage racine, pas au swap. Publiez votre fstab complet, et je vous posterai la version mise à jour.
Frantique
Je l'ai ajouté à la question.
harisibrahimkv
1
errors = remount-ro, nobootwait
Frantique
0

Lorsque vous passez en veille prolongée, une image complète de votre RAM est copiée pour permuter. Donc, la plupart du temps, les gens ont des problèmes d'hibernation qui ne fonctionnent pas, leur échange est trop petit.

Vous avez besoin d'au moins autant de swap que de RAM. Si vous avez beaucoup de RAM, définissez swappiness = 0 . Donc, si vous avez 8 Go de RAM, utilisez 8,5 ou 9 Go de swap. Si vous avez 4 Go de RAM, 6 Go de swap est un bon nombre.

mniess
la source
J'ai 1 Go de RAM et j'ai un espace d'échange de 1,95 Go. Question mise à jour avec une capture d'écran de mon disque dur.
harisibrahimkv
0

Autant que je sache, Linux, y compris Ubuntu, devrait avoir un espace d'échange 2x de ram installé.

Certains comment ma configuration d'ordinateur de construction personnalisée n'est pas en mesure d'utiliser la mise en veille prolongée alors que j'ai plus que suffisamment d'espace de swap. image

Si vous pensez que votre échange vous ralentit, vous pouvez utiliser ce script que j'ai trouvé sur Internet. Il nettoie le swap.

#!/bin/bash

free_data="$(free)"
mem_data="$(echo "$free_data" | grep 'Mem:')"
free_mem="$(echo "$mem_data" | awk '{print $4}')"
buffers="$(echo "$mem_data" | awk '{print $6}')"
cache="$(echo "$mem_data" | awk '{print $7}')"
total_free=$((free_mem + buffers + cache))
used_swap="$(echo "$free_data" | grep 'Swap:' | awk '{print $3}')"

echo -e "Free memory:\t$total_free kB ($((total_free / 1024)) MB)\nUsed swap:\t$used_swap kB ($((used_swap / 1024)) MB)"
if [[ $used_swap -eq 0 ]]; then
    echo "Congratulations! No swap is in use."
elif [[ $used_swap -lt $total_free ]]; then
    echo "Freeing swap..."
    swapoff -a
    swapon -a
else
    echo "Not enough free memory. Exiting."
    exit 1
fi
nkvnkv
la source
J'ai 2 espaces de swap disponibles. Merci pour la suggestion.
harisibrahimkv