Не вдається відновити після сплячого режиму


9

Я без проблем використовую сплячку з Ubuntu 16.04, але раптом вона перестала працювати правильно. Незалежно від того, перебуваю в сплячому режимі з меню живлення чи за допомогою sudo pm-hibernate, він вимикає комп'ютер, але коли я знову включаю його і вибираю Ubuntu з меню grub, він просто дає чорний екран. Я спробував деякі рішення (перелічені нижче), але жодне не спрацювало.

Я дуже розчарований, що з кожним випуском Ubuntu, який я використовую, у мене зазвичай виникають подібні проблеми зі сплячим режимом (з різними ноутбуками).

PS: У мене є подвійне завантаження з Windows 10, але сплячий режим прекрасно працював з ним довгий час.

Не вийшло:


У мене така ж проблема у мого ноутбука - коли я повертаюся зі сплячого режиму - чорний екран. Для мене це ніколи не працювало. "Для вирішення" мого ноутбука потрібно натиснути ALT + CTRL + F1, потім зачекати кілька секунд, а потім натиснути ALT + CTRL + F7. Це повертає його до життя (на моєму ноутбуці).
Ванесса Діган

Дякую за пропозицію, але не працювало для мене.
Карим Сонбол

Як щодо того, щоб просто закрити кришку та відкрити її знову? (Варто спробувати!)
Ванесса Діган

Ще раз дякую @VanessaDeagan, але все одно нічого не сталося.
Карим Сонбол

1
Якщо ви ще цього не бачили: bugs.launchpad.net/bugs/1743094
Стів

Відповіді:


9

У мене були ті самі проблеми. Помилка в останньому ядрі 16.04. Ось чіткі кроки, які я зробив. Зробіть перший і, якщо це вирішить проблему для вас, зупиніться на цьому. Якщо ні, продовжуйте.

1. Встановіть комп'ютер для завантаження з попереднім ядром

Починати з:

унаме -р

Мій каже 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 ... (куча caracters тут)' Скопіюйте цей текст, і тоді ми повинні сказати grub2, щоб він за замовчуванням завантажувався з цим ядром:

sudo cp / etc / default / grub /etc/default/grub.back

sudo gedit / etc / default / grub

Потім я вставив цей рядок:

GRUB_DEFAULT = "gnulinux-advanced-4a50e1e8-56d9-413e-9954-55648888a31d> gnulinux-4.10.0-28-generic-advanced-4a50e1e8-56d9-413e-9954-55648888a31d"

Будь ласка, не копіюйте цей рядок буквально, а використовуйте висновок попередньої команди grep, як було сказано. Потім збережіть і,

sudo update-grub

Потім перезавантажте і перевірте, що вихід "uname -r" є старшим ядром (4.10 ... в моєму випадку). Ви можете перезимувати зараз, чи ні. Якщо ні, перейдіть до наступного кроку.

2. Встановіть інші елементи для сплячого режиму, ніж стандартні:

У моєму випадку за допомогою старшого ядра позбувся чорного екрану смерті і дозволив мені відновитись після сплячки, але вміст зображення диска вимикався, тобто він був ідентичним перезавантаженню, а не сплячці. Тому я встановив лайно, яке зимує інакше:

sudo apt-get install uswsusp

Потім закрийте термінал, відкрийте його ще раз і введіть:

sudo s2disk

Це передбачається в сплячку за комп’ютером. Якщо після відновлення все так, як ви його покинули, значить, ви вирішили питання. Але вам все одно потрібно перейти до кроку 4, щоб сказати Ubuntu, що ви хочете використовувати новий матеріал за замовчуванням, а також, що ви хочете мати варіанти зимування в додатках.

3. Скажіть grub 2, де розміщений розділ swap:

Це все ще не працювало для мене, тому мені довелося сказати grub, де знаходиться розділ swap:

кішка / тощо / 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 використовувати нові елементи сплячки, які ви встановили замість за замовчуванням:

Тепер ви повинні сказати 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

І вставити туди:

[Повторно увімкнути сплячий режим за замовчуванням у користувачу]

Ідентифікація = unix-користувач: *

Дія = org.freedesktop.upower.hibernate

ResultActive = так

[Повторно увімкнути сплячий режим за замовчуванням увійти в систему]

Ідентифікація = unix-користувач: *

Дія = org.freedesktop.login1.hibernate; org.freedesktop.login1.handle-hibernate-key; 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 редагувати 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 сплячий


Дякую, я вибрав старе ядро ​​з меню завантаження і перебуває в режимі глибокого сну. Пізніше я перевіряю інші кроки з оновленнями, але сподіваюся, що вони скоро виправлять поточне ядро.
Карим Сонбол

Насправді я вибрав старе ядро ​​одного разу із меню grub, а потім перейшов у сплячку. Коли я знову відкриваю його і вибираю звичайний варіант "Ubuntu" без розширених параметрів, він запам'ятовує мій вибір і використовує старе ядро, і, на щастя, всі мої відкриті програми на місці.
Карим Сонбол

чи є якась особлива причина не просто видалити нове ядро ​​і дотримуватися старого?
lrkwz

3

@karim У мене була така ж проблема, як це виправити:

Використовуйте UUID розділу swap замість його точки монтажу в параметрі RESUME resume=UUID=#в обох /etc/default/grubта/etc/initramfs-tools/conf.d/resume

Створіть запис для розділу swap /etc/fstab без точки монтажу щось подібне

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

В /etc/default/grubя використовував окремий вхід для відновлення глибокого сну

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

Створіть політику у місцевій владі (pkla), як пояснив @Mephisto

Оновіть initramfs та GRUB

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

Перезавантажте, відкрийте деякі додатки та використовуйте systemctl hibernate(без судо), щоб перевірити, чи працює він


У мене все було налаштовано, окрім "sudo update-initramfs -u -k all", здавалося, виправити мою проблему. Дякую.
Замікол

2

Дякую всім за відповіді. Проблема була вирішена в ядрі 4.15. Я просто спробував це зараз, і це працює. Мабуть, ядро ​​HWE виправило це ( linux-generic-hwe-16.04 package).

Якщо ви використовуєте Ubuntu 16.04, вам просто потрібно встановити останні оновлення для оновлення ядра. Детальніше про це ви можете прочитати тут .

Моя поточна версія ядра - загальна для 4.15.0-33.


2

У мене також виникли проблеми з цим ... і виправлення після багатьох спроб було перевстановити Ubuntu 18.04, і тепер він працює чудово. Я також використовую "перевірений" драйвер Nvidia, оскільки винуватець раніше був Nvidia.

Можливо, саме sudo add-apt-repository ppa:graphics-driversppa встановив "Extra" Stuff та / або драйвер 396, який накрутив гібернаторську здатність мого ноутбука. У будь-якому випадку це працює бездоганно в цей час спілкування з перевіреним драйвером NVidia 390. До переходу на нуво водій працював.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.