J'ai eu les mêmes problèmes. Il y a un bogue dans le noyau le plus récent de 16.04. Voici les étapes explicites que j'ai faites. Faites le premier et, si cela résout le problème pour vous, arrêtez-vous là. Sinon, continuez.
1. Configurez l'ordinateur pour démarrer avec le noyau précédent
Commencer avec:
uname -r
Le mien dit 4.13 ... Alors faites:
grep -i "menuentry '" /boot/grub/grub.cfg
Vous verrez les différentes entrées de menu dans grub. Dans mon cas, avec "Ubuntu, avec Linux 4.13 ...", il y avait une option de menu pour démarrer avec le noyau précédent. Il a dit Ubuntu, avec Linux 4.10.0-28-generic . Dans la même ligne, vous avez quelque chose comme 'gnulinux-4.10.0-28-generic-advanced ... (un tas de caractères ici)' Copiez ce texte, puis nous devons dire à grub2 de démarrer avec ce noyau par défaut:
sudo cp / etc / default / grub /etc/default/grub.back
sudo gedit / etc / default / grub
J'ai ensuite inséré cette ligne:
GRUB_DEFAULT = "gnulinux-advanced-4a50e1e8-56d9-413e-9954-55648888a31d> gnulinux-4.10.0-28-generic-advanced-4a50e1e8-56d9-413e-9954-55648888a31d"
Veuillez ne pas copier cette ligne littéralement, mais utilisez la sortie de la commande grep précédente comme indiqué. Ensuite, enregistrez et,
sudo update-grub
Redémarrez ensuite et vérifiez que la sortie de "uname -r" est l'ancien noyau (4.10 ... dans mon cas). Vous pouvez peut-être hiberner maintenant ou non. Sinon, passez à l'étape suivante.
2. Installez des éléments différents pour hiberner que ceux par défaut:
Dans mon cas, l'utilisation de l'ancien noyau s'est débarrassé de l'écran noir de la mort et m'a permis de reprendre après l'hibernation, mais le contenu de l'image disque allait être effacé, c'est-à-dire qu'il était identique à un redémarrage, pas à l'hibernation. J'ai donc installé une merde qui hiberne différemment:
sudo apt-get install uswsusp
Fermez ensuite le terminal, ouvrez-le à nouveau et tapez:
sudo s2disk
Ceci est censé mettre l'ordinateur en veille prolongée. Si, après la reprise, tout est comme vous l'avez laissé, vous avez résolu le problème. Mais vous devez toujours passer à l'étape 4 afin d'indiquer à Ubuntu que vous souhaitez utiliser les nouveaux éléments par défaut et également que vous souhaitez avoir des options d'hibernation dans les applications.
3. Indiquez à grub 2 où se trouve la partition de swap:
Cela ne fonctionnait toujours pas pour moi, j'ai donc dû dire à grub où se trouve la partition de swap:
chat / etc / fstab
Je pouvais y lire "# swap était sur / dev / sda2 pendant l'installation", j'ai donc édité grub à nouveau:
sudo gedit / etc / default / grub
Et ajouté:
GRUB_CMDLINE_LINUX_DEFAULT = "intel_pstate = désactiver la reprise = / dev / sda2"
La partie importante est "resume = / dev / sda2" mais la chose précédente (intel blablabla) est là pour d'autres raisons. Eh bien, la prochaine étape est:
sudo update-grub
Redémarrez et essayez à nouveau d'hiberner avec certaines choses en cours (par exemple, ouvrez un film avec vlc) avec:
sudo s2disk
Si le contenu est toujours là après la reprise, vous avez résolu le problème.
4. Dire à Ubuntu d'utiliser les nouveaux éléments d'hibernation que vous avez installés au lieu de ceux par défaut:
Vous devez maintenant dire à Ubuntu d'utiliser s2disk pour hiberner au lieu des éléments fournis par défaut:
sudo gedit /etc/pm/config.d/00sleep_module
Et insérez-y:
SLEEP_MODULE = "uswsusp"
Enregistrez et fermez le fichier. Alors:
sudo gedit /etc/polkit-1/localauthority/50-local.d/enable-hibernate.pkla
Et insérez-y:
[Réactiver l'hibernation par défaut dans upower]
Identité = utilisateur unix: *
Action = org.freedesktop.upower.hibernate
ResultActive = yes
[Réactiver la mise en veille prolongée par défaut dans la connexion]
Identité = utilisateur unix: *
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- inhiber
ResultActive = yes
Redémarrez et réessayez.
5. Si après avoir exécuté l'étape 4, vous ne pouvez pas mettre en veille prolongée à l'aide de, sudo systemctl hibernate
procédez comme suit
L'étape 4 ne suffit pas pour passer à uswsusp dans Ubuntu 18.10.
Modifier le service d'hibernation
sudo systemctl modifier systemd-hibernate.service
Et ajoutez ce qui suit
[Service]
ExecStart=
ExecStartPre=-/bin/run-parts -v -a pre /usr/lib/systemd/system-sleep
ExecStart=/usr/sbin/s2disk
ExecStartPost=-/bin/run-parts -v --reverse -a post /usr/lib/systemd/system-sleep
Mettre à jour systemd
sudo systemctl daemon-reload
Testez la configuration en exécutant ce qui suit
sudo systemctl hibernate