背景和设置:
- 我已经在笔记本电脑上安装了全新的 Ubuntu 21.10。
- 安装之前,我从 BIOS 中清除了 TPM2.0 模块,并在安装过程中启用了 SecureBoot。
- 我选择了使用 LVM 的全盘加密。
- 安装后第一次启动时,我使用安装过程中选择的密码注册了 MOK。
问题:
我想使用 TPM2.0 模块解锁 LUKS2 加密的系统驱动器。这应该由 systemd 248.3 包中的
命令支持。 但是,运行该命令时,命令返回“systemd-cryptenroll
systemd-cryptenroll --tpm2-device=list
此版本不支持 TPM2“。
问题:
为什么我会收到此返回消息以及我该怎么做才能启用 TPM2 支持。
答案1
正如@pbanhol提到的,我提交了这个错误:https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1969375并且已在 jammy-proposed 和 jammy-updates 中修复。
答案2
我收到了相同的错误消息,但是 TPM 存在。
检查 TPM 设备是否存在:
dmesg | grep -i tpm
设备名称通常是 /dev/tpm0。检查一下。
注册
systemd-cryptenroll --tpm2-device=/dev/tpm0 --tpm2-pcrs=7 </path/to/encrypted/luks/device>
答案3
您的 systemd 版本没有支持 tpm2,您必须找到启用此功能的软件包版本或使用选项“-Dtpm2=true”自行编译。