Ho avuto gli stessi problemi. C'è un bug nel kernel più recente in 16.04. Ecco i passaggi espliciti che ho fatto. Fai il primo e, se risolve il problema per te, fermati qui. Altrimenti, continua.
1. Impostare il computer per l'avvio con il kernel precedente
Iniziare con:
uname -r
Il mio dice 4.13 ... Quindi fai:
grep -i "menuentry" "/boot/grub/grub.cfg
Vedrai le diverse voci di menu in grub. Nel mio caso, insieme a "Ubuntu, con Linux 4.13 ..." c'era un'opzione di menu per l'avvio con il kernel precedente. Diceva Ubuntu, con Linux 4.10.0-28-generico . Nella stessa riga hai qualcosa come 'gnulinux-4.10.0-28-generic-advanced ... (un sacco di personaggi qui)' Copia quel testo, e quindi dobbiamo dire a grub2 di avviarsi con quel kernel di default:
sudo cp / etc / default / grub /etc/default/grub.back
sudo gedit / etc / default / grub
Quindi ho inserito questa riga:
GRUB_DEFAULT = "gnulinux-avanzato 4a50e1e8-56d9-413e-9954-55648888a31d> gnulinux-4.10.0-28-generic-avanzato 4a50e1e8-56d9-413e-9954-55648888a31d"
Per favore non copiare questa riga alla lettera, ma usa l'output del precedente comando grep come detto. Quindi salva e,
sudo update-grub
Quindi riavviare e verificare che l'output di "uname -r" sia il kernel più vecchio (4.10 ... nel mio caso). Potresti essere in grado di andare in letargo ora o no. In caso contrario, procedere al passaggio successivo.
2. Installa roba diversa per andare in letargo rispetto a quella predefinita:
Nel mio caso, usando il kernel più vecchio mi sono sbarazzato della schermata nera della morte e mi ha permesso di riprendere dopo l'ibernazione, ma il contenuto dell'immagine del disco stava per essere cancellato, cioè era identico a un riavvio, non all'ibernazione. Quindi ho installato un po 'di merda che va in letargo in modo diverso:
sudo apt-get install uswsusp
Quindi chiudere il terminale, aprirlo di nuovo e digitare:
sudo s2disk
Questo dovrebbe ibernare il computer. Se, dopo aver ripreso, tutto è come l'hai lasciato, hai risolto il problema. Ma devi ancora procedere al passaggio 4 per dire a Ubuntu che vuoi usare le nuove cose di default e anche che vuoi avere opzioni per andare in letargo nelle applicazioni.
3. Indica a grub 2 dove si trova la partizione di swap:
Non ha ancora funzionato per me, quindi ho dovuto dire a grub dove si trova la partizione di swap:
cat / etc / fstab
Potrei leggere lì "# swap era su / dev / sda2 durante l'installazione", quindi ho modificato di nuovo grub:
sudo gedit / etc / default / grub
E aggiunse:
GRUB_CMDLINE_LINUX_DEFAULT = "intel_pstate = disabilita riprendi = / dev / sda2"
La parte importante è "resume = / dev / sda2" ma la cosa precedente (intel blablabla) è lì per altri motivi. Bene, il prossimo passo è:
sudo update-grub
Riavvia e riprova ad andare in letargo con alcune cose in corso (es. Apri un film con vlc) con:
sudo s2disk
Se le cose sono ancora lì dopo aver ripreso, hai risolto il problema.
4. Dire a Ubuntu di usare le nuove cose di ibernazione che hai installato invece di quelle predefinite:
Ora devi dire a Ubuntu di usare s2disk per ibernare invece delle cose che vengono di default:
sudo gedit /etc/pm/config.d/00sleep_module
E inserire lì:
SLEEP_MODULE = "uswsusp"
Salva e chiudi il file. Poi:
sudo gedit /etc/polkit-1/localauthority/50-local.d/enable-hibernate.pkla
E inserire lì:
[Riattiva l'ibernazione per impostazione predefinita in upower]
Identità = unix-utente: *
Action = org.freedesktop.upower.hibernate
ResultActive = yes
[Riattiva l'ibernazione per impostazione predefinita nel logind]
Identità = unix-utente: *
Action = org.freedesktop.login1.hibernate; org.freedesktop.login1.handle-hibernate-chiave; org.freedesktop.login1; org.freedesktop.login1.hibernate-Multiple-sessioni; org.freedesktop.login1.hibernate-ignore- inibire
ResultActive = yes
Riavvia e riprova.
5. Se dopo aver eseguito il passaggio 4, non è possibile ibernare utilizzando, sudo systemctl hibernate
procedere come segue
Il passaggio 4 non è sufficiente per passare a uswsusp in Ubuntu 18.10.
Modifica il servizio di ibernazione
sudo systemctl modifica systemd-hibernate.service
E aggiungi quanto segue
[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
Aggiorna systemd
sudo systemctl daemon-reload
Testare l'installazione eseguendo quanto segue
sudo systemctl ibernazione