Saya memiliki masalah yang sama. Ada bug di kernel terbaru di 16.04. Inilah langkah-langkah eksplisit yang telah saya lakukan. Lakukan yang pertama dan, jika itu memecahkan masalah untuk Anda, berhenti di sana. Jika tidak, lanjutkan.
1. Atur komputer untuk boot dengan kernel sebelumnya
Dimulai dari:
uname -r
Milik saya mengatakan 4.13 ... Lalu lakukan:
grep -i "menuentry '" /boot/grub/grub.cfg
Anda akan melihat entri menu yang berbeda di grub. Dalam kasus saya, bersama dengan "Ubuntu, dengan Linux 4.13 ..." ada opsi menu untuk boot dengan kernel sebelumnya. Dikatakan Ubuntu, dengan Linux 4.10.0-28-generik . Pada baris yang sama Anda memiliki sesuatu seperti 'gnulinux-4.10.0-28-generic-advanced ... (banyak karakter di sini)' Salin teks itu, dan kemudian kita harus memberitahu grub2 untuk boot dengan kernel itu secara default:
sudo cp / etc / default / grub /etc/default/grub.back
sudo gedit / etc / default / grub
Lalu saya memasukkan baris ini:
GRUB_DEFAULT = "gnulinux-advanced-4a50e1e8-56d9-413e-9954-55648888a31d> gnulinux-4.10.0-28-generic-advanced-4a50e1e8-56d9-413e-9954-55648888a31d"
Tolong jangan menyalin baris ini secara harfiah, tetapi gunakan output dari perintah grep sebelumnya seperti yang dikatakan. Kemudian simpan dan,
sudo perbarui-grub
Kemudian boot ulang dan periksa apakah output dari "uname -r" adalah kernel lama (4.10 ... dalam kasus saya). Anda mungkin dapat hibernasi sekarang, atau tidak. Jika tidak, lanjutkan ke langkah berikutnya.
2. Instal hal-hal berbeda untuk hibernate daripada yang default:
Dalam kasus saya, menggunakan kernel lama menyingkirkan layar hitam kematian dan memungkinkan saya untuk melanjutkan setelah hibernasi, tetapi isi dari gambar disk akan terhapus, yaitu identik dengan reboot, bukan hibernasi. Jadi saya menginstal beberapa kotoran yang hibernasi secara berbeda:
sudo apt-get install uswsusp
Kemudian tutup terminal, buka kembali dan ketik:
sudo s2disk
Ini seharusnya hibernasi komputer. Jika, setelah melanjutkan, semuanya seperti yang Anda tinggalkan, maka Anda telah menyelesaikan masalah. Tetapi Anda masih perlu melanjutkan ke langkah 4 untuk memberi tahu Ubuntu bahwa Anda ingin menggunakan hal-hal baru secara default dan juga bahwa Anda ingin memiliki opsi untuk hibernasi dalam aplikasi.
3. Beri tahu grub 2 di mana partisi swap adalah:
Itu masih tidak bekerja untuk saya, jadi saya harus memberi tahu grub di mana partisi swap:
cat / etc / fstab
Saya bisa membaca di sana "# swap aktif / dev / sda2 saat instalasi", jadi saya mengedit grub lagi:
sudo gedit / etc / default / grub
Dan menambahkan:
GRUB_CMDLINE_LINUX_DEFAULT = "intel_pstate = nonaktifkan resume = / dev / sda2"
Bagian yang penting adalah "resume = / dev / sda2" tetapi hal sebelumnya (intel blablabla) ada karena alasan lain. Nah, langkah selanjutnya adalah:
sudo perbarui-grub
Boot ulang dan coba lagi hibernasi dengan beberapa hal yang terjadi (mis. Buka film dengan vlc) dengan:
sudo s2disk
Jika barang masih ada di sana setelah Anda melanjutkan, Anda telah menyelesaikan masalah.
4. Memberitahu Ubuntu untuk menggunakan hal-hal hibernasi baru yang telah Anda instal alih-alih default:
Anda sekarang harus memberi tahu Ubuntu untuk menggunakan s2disk untuk hibernasi alih-alih hal-hal yang datang secara default:
sudo gedit /etc/pm/config.d/00sleep_module
Dan masukkan di sana:
SLEEP_MODULE = "uswsusp"
Simpan dan tutup file. Kemudian:
sudo gedit /etc/polkit-1/localauthority/50-local.d/enable-hibernate.pkla
Dan masukkan di sana:
[Aktifkan kembali hibernate secara default di upower]
Identity = unix-user: *
Action = org.freedesktop.upower.hibernate
ResultActive = ya
[Aktifkan kembali hibernasi secara default di logind]
Identity = unix-user: *
Aksi = org.freedesktop.login1.hibernate; org.freedesktop.login1.handle-hibernate-key; org.freedesktop.login1; org.freedesktop.login1.hibernate-multi-sesi; org.freedesktop.login1.hibernate-diabaikan- menghalangi
ResultActive = ya
Mulai ulang dan coba lagi.
5. Jika setelah menjalankan Langkah 4, Anda tidak dapat hibernasi menggunakan sudo systemctl hibernate
kemudian lakukan hal berikut
Langkah 4 tidak cukup untuk beralih ke uswsusp di Ubuntu 18.10.
Edit layanan hibernasi
sudo systemctl edit systemd-hibernate.service
Dan tambahkan yang berikut ini
[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
Perbarui sistemd
sudo systemctl daemon-reload
Uji pengaturan dengan menjalankan yang berikut ini
sudo systemctl hibernate