18.04 гибернация с включенным UEFI и безопасной загрузкой


14

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

Раздел подкачки активен и равен объему оперативной памяти + 2 ГБ;

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

journalctl -xe обнаружил сбой доступа к / sys / power / disk

cat / sys / power / disk: [отключено]

cat / sys / power / state: freeze mem

Какие-либо предложения?

Ответы:


12

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

В настоящее время нет способа проверить изображение возобновления при возвращении из спящего режима. Это может поставить под угрозу доверенную модель подписанных модулей, поэтому, пока мы не сможем работать с подписанными образами гибернации, мы отключим ее, когда ядро ​​заблокировано.

Связанный бионический коммит вы можете увидеть здесь .

Это спорное решение и Линус отказался объединить эти изменения в ядро 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 или диск sata: https://support.system76.com/articles/bootloader/

Ключ должен выполнить эту команду:

sudo update-initramfs -c -k all

убедитесь, что в ваших настройках kernalboot вы указываете раздел или UUID того, откуда продолжить, например, что-то вроде этого:

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

Вы можете добавить это одним из следующих способов: 1) заглушка-ядро sudo -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, но я должен был отключить cryptswap и повторно включить обычный обмен, раскомментируя и комментируя соответственно в /etc/fstabи /etc/crypttab. cryptswap использует случайный ключ при каждой загрузке, поэтому не работает в режиме гибернации.
— fuzzyTew

Если вы хотите зашифрованный раздел подкачки, вы можете взглянуть на это: help.ubuntu.com/community/EnableHibernateWithEncryptedSwap
— Lingster
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.