Miałem te same problemy. W najnowszym jądrze 16.04 występuje błąd. Oto wyraźne kroki, które zrobiłem. Zrób pierwszy, a jeśli to rozwiąże problem, zatrzymaj się. Jeśli nie, kontynuuj.
1. Ustaw komputer do uruchamiania z poprzednim jądrem
Zacząć od:
uname -r
Mój mówi 4.13 ... Następnie wykonaj:
grep -i "menuentry" "/boot/grub/grub.cfg
Zobaczysz różne pozycje menu w grub. W moim przypadku, wraz z „Ubuntu, z Linux 4.13 ...” była opcja menu do uruchomienia z poprzednim jądrem. Mówi Ubuntu, z Linuksem 4.10.0-28-generic . W tym samym wierszu masz coś w stylu „gnulinux-4.10.0-28-generic-advanced ... (kilka znaków tutaj)” Skopiuj ten tekst, a następnie musimy domyślnie powiedzieć Grub2, aby uruchomił się z tym jądrem:
sudo cp / etc / default / grub /etc/default/grub.back
sudo gedit / etc / default / grub
Następnie wstawiłem ten wiersz:
GRUB_DEFAULT = "gnulinux-advanced-4a50e1e8-56d9-413e-9954-55648888a31d> gnulinux-4.10.0-28-generic-advanced-4a50e1e8-56d9-413e-9954-55648888a31d”
Nie kopiuj tego wiersza dosłownie, ale użyj danych wyjściowych poprzedniego polecenia grep, jak powiedziano. Następnie zapisz i
sudo update-grub
Następnie uruchom ponownie i sprawdź, czy wyjściem „uname -r” jest starsze jądro (4.10 ... w moim przypadku). Możesz być w stanie hibernacji teraz, czy nie. Jeśli nie, przejdź do następnego kroku.
2. Zainstaluj hibernację w inny sposób niż domyślny:
W moim przypadku przy użyciu starszego jądra pozbyłem się czarnego ekranu śmierci i pozwoliłem mu wznowić po hibernacji, ale zawartość obrazu dysku została wymazana, tzn. Była identyczna z restartem, a nie hibernacją. Więc zainstalowałem trochę gówna, które hibernuje inaczej:
sudo apt-get install uswsusp
Następnie zamknij terminal, otwórz go ponownie i wpisz:
sudo s2disk
Ma to na celu hibernację komputera. Jeśli po wznowieniu wszystko jest tak, jak zostało, to problem został rozwiązany. Ale nadal musisz przejść do kroku 4, aby poinformować Ubuntu, że chcesz domyślnie używać nowych rzeczy, a także, że chcesz mieć opcje hibernacji w aplikacjach.
3. Powiedz grub 2, gdzie jest partycja wymiany:
Nadal nie działało to dla mnie, więc musiałem powiedzieć Grubowi, gdzie jest partycja wymiany:
cat / etc / fstab
Mogłem przeczytać tam „# swap był włączony / dev / sda2 podczas instalacji”, więc ponownie edytowałem grub:
sudo gedit / etc / default / grub
I dodał:
GRUB_CMDLINE_LINUX_DEFAULT = "intel_pstate = wyłącz wznawianie = / dev / sda2"
Ważną częścią jest „resume = / dev / sda2”, ale poprzednia rzecz (intel blablabla) istnieje z innych powodów. Kolejnym krokiem jest:
sudo update-grub
Uruchom ponownie i spróbuj ponownie hibernować, gdy trwają pewne rzeczy (np. Otwórz film za pomocą VLC) za pomocą:
sudo s2disk
Jeśli po wznowieniu zawartość nadal tam jest, problem został rozwiązany.
4. Powiedzenie Ubuntu, aby użył nowej rzeczy hibernacji, którą zainstalowałeś zamiast domyślnej:
Musisz teraz powiedzieć Ubuntu, aby używał s2disk do hibernacji zamiast domyślnie:
sudo gedit /etc/pm/config.d/00sleep_module
I wstaw tam:
SLEEP_MODULE = "uswsusp"
Zapisz i zamknij plik. Następnie:
sudo gedit /etc/polkit-1/localauthority/50-local.d/enable-hibernate.pkla
I wstaw tam:
[Ponownie włącz hibernację domyślnie w górę]
Tożsamość = użytkownik unix: *
Action = org.freedesktop.upower.hibernate
ResultActive = tak
[Ponownie włącz hibernację domyślnie w logind]
Tożsamość = użytkownik unix: *
Action = org.freedesktop.login1.hibernate; org.freedesktop.login1.handle-hibernate-key; org.freedesktop.login1; org.freedesktop.login1.hibernate-multiple-session; org.freedesktop.login1.hibernate-ignore- hamować
ResultActive = tak
Uruchom ponownie i spróbuj ponownie.
5. Jeśli po uruchomieniu kroku 4 nie można użyć hibernacji, sudo systemctl hibernate
wykonaj następujące czynności
Krok 4 nie wystarczy, aby przejść na uswsusp w Ubuntu 18.10.
Edytuj usługę hibernacji
sudo systemctl edit systemd-hibernate.service
I dodaj następujące
[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
Zaktualizuj systemd
sudo systemctl daemon-reload
Przetestuj konfigurację, wykonując następujące czynności
sudo systemctl hibernacja