18.04 перебуває в сплячому режимі з підтримкою UEFI та захищеним завантаженням


14

"sudo systemctl start hibernate.target" чудово працював з 16.04 на Acer B117, використовуючи застаріле завантаження; Оновлення до 18.04 змусило мене використовувати UEFI та (вимога Acer) захищеного завантаження. Підвіска все ще працює, але мені потрібна сплячка.

Розділ Swap активний і дорівнює розміру ОЗУ + 2 ГБ;

GRUB_CMDLINE_LINUX_DEFAULT = "резюме з тихим сплеском = UUID = myswapuuid"

journalctl -xe виявив невдачу доступу / sys / power / disk

cat / sys / power / disk: [вимкнено]

cat / sys / power / state: заморозити пам

Будь-які пропозиції?

Відповіді:


12

У мене така ж проблема, і, на жаль, це неможливо з офіційним ядром Ubuntu, починаючи з версії 4.13, завдяки патчету блокування ядра (efi-lockdown). Обґрунтування:

Наразі немає можливості перевірити зображення резюме при поверненні з сплячого режиму. Це може поставити під загрозу довірну модель підписаних модулів, тому, поки ми не зможемо працювати з підписаними зображеннями в сплячому режимі, ми відключаємо її, коли ядро ​​заблоковано.

Пов’язані Bionic комісії ви можете побачити тут .

Це суперечливе рішення, і Лінус відмовився об'єднати ці зміни в Linux ядро.

Трохи детальніше ви можете знайти статтю Блокування ядра в 4.17? та його коментарі.

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

PS Я буду радий отримати ще одну відповідь, якщо хтось вирішив цю проблему.


Дуже дякую, розуміючи, чому це хороший крок попереду.
olli61

Яке ядро ​​я можу використовувати? Гібернація - це важлива особливість для мене. (Я очікую, що у мене повинен бути один новий, ніж 4.15, в ідеалі 4.18, оскільки мій WiFi працює на останньому, але не на першому.)
nsandersen

1

сподіваюся, що це комусь допоможе, але я запускаю popos / ubuntu 19.04. Під час моєї установки я зміг перезимувати за допомогою s2disk або pm-hibernate, але резюме не вдалося. Щоб виправити це, оскільки моя система завантажується за допомогою UEFI замість grub. Мені просто довелося перевстановити завантажувач. Щоб перевірити, чи працює ви UEFI, використовуйте наступне:

[ -d /sys/firmware/efi ] && echo "Installed in UEFI mode" || echo "Installed in Legacy mode"

якщо в режимі UEFI, то я дотримувався цього керівництва для перевстановлення завантажувача, він змінюється, якщо ви використовуєте nvme диск або сата-диск: https://support.system76.com/articles/bootloader/

Ключ полягає у виконанні цієї команди:

sudo update-initramfs -c -k all

переконайтеся, що в параметрах завантаження kernalboot ви вказали розділ або UUID, звідки слід відновити, наприклад, щось подібне:

резюме = UUID = ed8347ed-2eb4-40bc-bc77-cc53b987ed88

Ви можете додати це: 1) sudo kernel-stub -a "resume = UUID = ..." 2) відредагувати /etc/initramfs-tools/conf.d/resume файл і додати: resume = UUID = ed8347ed- 2eb4-40bc-bc77-cc53b987ed88

перевірте свій /var/log/syslogфайл на щось подібне:

Aug 4 22:26:42 pop-os /usr/bin/kernelstub[19639]: kernelstub : DEBUG kopts: root=UUID=b37019a8-91f5-445f-94c1-7359a49ed5df ro quiet loglevel=0 systemd .show_status=false resume=UUID=ed8347ed-2eb4-40bc-bc77-cc53b987ed88

Якщо резюме відсутнє або неправильне, вам потрібно буде оновити завантажене ядро ​​ще раз.


Дякую, це єдина відповідь, яка дозволила мені відновитись без проблем.
Еммануель М. Сміт

Як користувач шифрування, мені не потрібно було змінювати initramfs, але мені довелося вимкнути заміну крипт і повторно включити звичайний своп, коментуючи і коментуючи відповідним чином в /etc/fstabі /etc/crypttab. crypswap використовує випадковий ключ кожного завантажувача, тому не працює для сплячки.
нечіткийTew

Якщо ви хочете зашифрований розділ swap, можете подивитися на це: help.ubuntu.com/community/EnableHibernateWithEncryptedSwap
Lingster
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.