修补内核以允许在启用安全启动的情况下休眠

修补内核以允许在启用安全启动的情况下休眠

我当前的配置是 HP Probook G10 上的 Windows-11(我的工作所需)和 Ubuntu 21.10 双启动。因为我必须有安全启动才能运行 Win-11,所以我必须在 Linux 上没有休眠(真的很难)。

我意识到,当在所有预构建的内核上启用安全启动时,休眠现在已正式禁用。我很欣赏这里的安全,也理解停工决定的性质。但是,是否有一种“官方非官方”的方法可以在内核编译配置选项或补丁中放宽此设置,以便休眠和安全启动并存,尽管它引入了惊人的安全风险?

我只是希望能够启动 Win-11 和 Linux,同时接受这会给我带来的一系列风险。

可能的?

答案1

锁定 LSM 模块用于禁用休眠,并且有一个名为 的内核编译标志CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT,将其设置为 no,并且在 EFI 安全启动时不会启用锁定。

答案2

这是我快速编写并一直在使用的补丁:

https://gist.github.com/kelvie/917d456cb572325aae8e3bd94a9c1350

我在使用几乎相同的设置设置我的框架笔记本电脑时也遇到了这种情况。

lockdown_hibernate我有一个加密的交换(并启用了加密的 RAM),因此使用此补丁,您应该在添加到内核参数并强制其在锁定期间启用休眠功能之前了解风险。

与完全禁用锁定相比,这样做的优点是您仍然可以获得锁定模式提供的大部分其他保护,尽管如果有人可以让您的内核从受损的交换中加载,这是一个没有实际意义的问题。

答案3

完全禁用休眠的假设是错误的。您需要 LUKS 加密的交换或磁盘。

如何在 UEFI 安全启动下启用 Linux 休眠并在选定的当前发行版(或主线内核)上锁定内核?

相关内容