Impossibile riprendere dopo l'ibernazione


9

Ho usato l'ibernazione con Ubuntu 16.04 senza problemi ma all'improvviso ha smesso di funzionare correttamente. Che io sia in letargo dal menu di accensione o utilizzo sudo pm-hibernate, spegne il computer ma quando lo riaccendo e scelgo Ubuntu dal menu di grub, dà solo una schermata nera. Ho provato alcune soluzioni (elencate di seguito) ma nessuna ha funzionato.

Sono davvero deluso dal fatto che con ogni versione di Ubuntu che utilizzo, di solito ho problemi simili con l'ibernazione (con laptop diversi).

PS: Ho un doppio avvio con Windows 10, ma l'ibernazione ha funzionato perfettamente con esso per molto tempo.

Non ha funzionato:


Ho lo stesso problema con un mio laptop - quando torno dal letargo - schermo nero. Per me, non ha mai funzionato. La "soluzione alternativa" per il mio laptop è premere ALT + CTRL + F1, quindi attendere qualche secondo, quindi premere ALT + CTRL + F7. Questo lo riporta in vita (sul mio laptop).
Vanessa Deagan,

Grazie per il suggerimento, non ha funzionato per me però.
Karim Sonbol,

Che ne dici di chiudere il coperchio e riaprirlo? (Vale la pena provare!)
Vanessa Deagan

Grazie ancora @VanessaDeagan, ma ancora non è successo niente.
Karim Sonbol,

1
Se non l'hai ancora visto: bugs.launchpad.net/bugs/1743094
Steve

Risposte:


9

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 hibernateprocedere 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


Grazie, ho scelto il vecchio kernel dal menu di avvio e ibernazione funziona con esso. Controllerò gli altri passaggi di aggiornamento in seguito, ma spero che presto risolvano il kernel corrente.
Karim Sonbol,

In realtà, ho scelto il vecchio kernel una volta dal menu di GRUB e poi sono stato ibernato. Quando lo apro di nuovo e scelgo la normale opzione "Ubuntu" senza opzioni avanzate, ricorda in qualche modo la mia scelta e usa il vecchio kernel, e fortunatamente tutte le mie app aperte sono a posto.
Karim Sonbol,

c'è qualche motivo speciale per non disinstallare semplicemente il nuovo kernel e attenersi a quello vecchio?
lrkwz,

3

@karim Ho avuto lo stesso problema qui è come risolto:

Utilizzare l'UUID della partizione di swap anziché il suo punto di montaggio nel parametro RESUME resume=UUID=#in entrambi /etc/default/grube/etc/initramfs-tools/conf.d/resume

Crea una voce per la partizione di swap /etc/fstab senza un punto di montaggio simile a questo

# Entry for Swap : 
UUID=# none  swap    sw              0       0

In /etc/default/grubho usato una voce separata per riprendere l'ibernazione

# FOR HIBERNATION 
GRUB_CMDLINE_LINUX="resume=UUID=..."

Crea un policykit nelle autorità locali (pkla) come spiegato da @Mephisto

Aggiorna initramfs e GRUB

sudo update-initramfs -u -k all
sudo update-grub

Riavvia, apri alcune app e usa systemctl hibernate(senza sudo) per vedere se funziona


Avevo impostato tutto, tranne "sudo update-initramfs -u -k all" sembrava risolvere il mio problema. Grazie.
Zamicol,

2

Grazie a tutti per le risposte. Il problema è stato risolto nel kernel 4.15. L'ho appena provato e funziona. Apparentemente il kernel HWE l'ha corretto ( linux-generic-hwe-16.04 package).

Se stai usando Ubuntu 16.04, devi solo installare gli ultimi aggiornamenti per aggiornare il kernel. Puoi leggere maggiori dettagli a riguardo qui .

La mia attuale versione del kernel è 4.15.0-33-generica.


2

Avevo anche questo problema che mi affligge ... e una soluzione dopo molti tentativi è stata quella di reinstallare Ubuntu 18.04, e ora funziona perfettamente. Sto anche usando il driver "testato" di Nvidia, poiché Nvidia era il colpevole prima.

Forse è stato il sudo add-apt-repository ppa:graphics-driversppa a installare "Extra" Stuff e / o il driver 396 a rovinare la capacità di ibernazione del mio laptop. Ad ogni modo funziona perfettamente al momento in cui scrivo con il driver testato da NVidia 390. Prima di passare al driver Nouveau ha funzionato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.