У меня были такие же проблемы. В последнем ядре 16.04 есть ошибка. Вот явные шаги, которые я сделал. Сделайте первый и, если это решит проблему для вас, остановитесь на этом. Если нет, продолжайте.
1. Установите компьютер для загрузки с предыдущим ядром
Начните с:
uname -r
Мой говорит 4.13 ... Тогда сделайте:
grep -i "menuentry" /boot/grub/grub.cfg
Вы увидите различные пункты меню в grub. В моем случае вместе с «Ubuntu, с Linux 4.13 ...» была опция меню для загрузки с предыдущим ядром. Там сказано Ubuntu, с Linux 4.10.0-28-generic . В той же строке у вас есть что-то вроде 'gnulinux-4.10.0-28-generic-advanced ... (куча символов здесь)'. Скопируйте этот текст, а затем мы должны указать grub2 загрузиться с этим ядром по умолчанию:
sudo cp / etc / default / grub /etc/default/grub.back
sudo gedit / etc / default / grub
Затем я вставил эту строку:
GRUB_DEFAULT = "gnulinux продвинутого-4a50e1e8-56d9-413e-9954-55648888a31d> gnulinux-4.10.0-28-родовой продвинутый-4a50e1e8-56d9-413e-9954-55648888a31d"
Пожалуйста, не копируйте эту строку буквально, а используйте вывод предыдущей команды grep, как сказано. Затем сохраните и,
sudo update-grub
Затем перезагрузите компьютер и проверьте, что вывод «uname -r» - это старое ядро (4.10 ... в моем случае). Вы можете быть в состоянии гибернации сейчас или нет. Если нет, перейдите к следующему шагу.
2. Установите другие вещи в спящий режим, чем по умолчанию:
В моем случае использование более старого ядра избавило от черного экрана смерти и позволило мне возобновить работу после спящего режима, но содержимое образа диска было уничтожено, т. Е. Оно было идентично перезагрузке, а не гибернации. Поэтому я установил немного дерьма, которое по-другому зимует:
sudo apt-get установить uswsusp
Затем закройте терминал, снова откройте его и введите:
sudo s2disk
Это должно привести компьютер в спящий режим. Если после возобновления все так, как вы его оставили, значит, вы решили проблему. Но вам все равно нужно перейти к шагу 4, чтобы сообщить Ubuntu, что вы хотите использовать новый материал по умолчанию, а также что у вас должны быть варианты перехода в спящий режим в приложениях.
3. Скажите grub 2, где находится раздел подкачки:
Это все еще не работало для меня, поэтому я должен был сказать grub, где находится раздел подкачки:
кошка / etc / fstab
Я мог прочитать там "# swap был на / dev / sda2 во время установки", поэтому я снова отредактировал grub:
sudo gedit / etc / default / grub
И добавил:
GRUB_CMDLINE_LINUX_DEFAULT = "intel_pstate = отключить резюме = / dev / sda2"
Важной частью является "resume = / dev / sda2", но предыдущая вещь (intel blablabla) есть по другим причинам. Ну, следующий шаг:
sudo update-grub
Перезагрузитесь и попробуйте снова перейти в режим гибернации с некоторыми событиями (например, открыть фильм с помощью vlc) с помощью:
sudo s2disk
Если после того, как вы возобновите работу, материал все еще там, вы решили проблему.
4. Говоря Ubuntu, что вы используете новую версию Hibernation вместо установленной по умолчанию:
Теперь вы должны указать Ubuntu использовать s2disk для перехода в спящий режим вместо того, что поставляется по умолчанию:
sudo gedit /etc/pm/config.d/00sleep_module
И вставьте туда:
SLEEP_MODULE = "uswsusp"
Сохраните и закройте файл. Затем:
sudo gedit /etc/polkit-1/localauthority/50-local.d/enable-hibernate.pkla
И вставьте туда:
[Повторно включить спящий режим по умолчанию в upower]
Идентичность = Unix-пользователь: *
Действие = org.freedesktop.upower.hibernate
ResultActive = да
[Включить спящий режим по умолчанию в logind]
Идентичность = Unix-пользователь: *
Действие = org.freedesktop.login1.hibernate; org.freedesktop.login1.handle-зимуют ключ; org.freedesktop.login1; org.freedesktop.login1.hibernate многодисковых сессий; org.freedesktop.login1.hibernate-ignore- Блокировка
ResultActive = да
Перезагрузитесь и попробуйте снова.
5. Если после выполнения шага 4 вы не можете использовать спящий режим, sudo systemctl hibernate
выполните следующие действия.
Шаг 4 недостаточно, чтобы перейти на uswsusp в Ubuntu 18.10.
Изменить сервис гибернации
sudo systemctl edit systemd-hibernate.service
И добавьте следующее
[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
Обновление systemd
sudo systemctl daemon-reload
Проверьте настройки, выполнив следующие
sudo systemctl hibernate