18.04休眠并启用UEFI和安全启动


14

在使用旧版启动程序的Acer B117上,“ sudo systemctl start hibernate.target”在16.04上运行良好;更新到18.04迫使我使用UEFI和(Acer要求)启用了安全启动。暂停仍然有效,但我需要休眠。

交换分区处于活动状态,并且等于RAM大小+ 2GB;

GRUB_CMDLINE_LINUX_DEFAULT =“安静的飞溅恢复= UUID = myswapuuid”

journalctl -xe显示无法访问/ sys / power / disk

cat / sys / power / disk:[已禁用]

cat / sys / power / state:冻结内存

有什么建议么?

Answers:


12

我有同样的问题,不幸的是,由于内核锁定补丁集(efi-lockdown),从版本4.13开始,使用官方Ubuntu内核是不可能的。证实是:

从休眠状态返回时,当前无法验证简历图像。这可能会损害签名模块的信任模型,因此,直到我们可以使用签名的休眠映像之前,我们在内核锁定时将其禁用。

您可以在这里看到相关的Bionic commit 。

这是一个有争议的决定,Linus 拒绝将这些更改合并到linux内核中。

您可以找到更多细节,这是4.17中的内核锁定文章吗?及其评论。

因此,当我们等待一些魔术软件使用该软件处理已签名的休眠映像时,我们只能使用其他内核禁用安全启动

附言:如果有人解决了这个问题,我很乐意支持另一个答案。


非常感谢您,理解为什么前进了一大步。
olli61 '19

我可以使用什么内核?休眠是我的基本功能。(我希望我的
手机

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 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,但是必须禁用cryptswap并通过在/etc/fstab和中取消注释和适当的注释来重新启用正常交换/etc/crypttab。cryptswap在每次启动时都使用一个随机密钥,因此不适用于休眠状态。
FuzzyTew

如果您想要一个加密的交换分区,可以看一下:help.ubuntu.com/community/EnableHibernateWithEncryptedSwap
Lingster
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.