Ubuntu 23.10升级后能否为已加密磁盘适配TPM基磁盘加密
好消息是,完全可以给已经加密磁盘的升级后Ubuntu 23.10系统适配TPM基的自动解锁,不用每次开机输密码。下面是具体的实操步骤,跟着走就能搞定:
先确认TPM状态:打开终端,执行
sudo dmesg | grep tpm。如果输出里有类似tpm_tis 00:0a: 2.0 TPM (device-id 0x1, rev-id 16)的内容,说明TPM已经正常工作。要是没看到,得进BIOS/UEFI的安全设置里开启TPM 2.0(不同品牌主板位置不同,一般在Security菜单下)。安装必要工具:在终端运行
sudo apt install clevis clevis-luks clevis-systemd,这些工具负责把LUKS加密和TPM的解锁逻辑绑定起来。定位加密分区:用
lsblk命令查看你的磁盘分区,找到带LUKS加密的那个分区(比如/dev/nvme0n1p3),对应的映射设备通常是/dev/mapper/ubuntu--vg-root,记好这个分区路径。绑定LUKS密钥与TPM:执行命令
sudo clevis luks bind -d /dev/你的加密分区路径 tpm2 '{"pcr_ids":"7"}'。这里的pcr_ids":"7"是绑定到TPM的PCR 7,这个PCR关联UEFI安全启动状态,能确保只有在当前BIOS配置下才能解锁,兼顾安全和便捷。执行时会要求输入原LUKS加密密码,输入后完成绑定。启用自动解锁服务:运行
sudo systemctl enable clevis-luks-askpass.path,让系统启动时自动调用TPM解锁逻辑。测试效果:重启系统,验证是否无需输入密码即可直接进入系统。如果解锁失败,依然可以输入原LUKS密码登录,之后可重新执行第四步重新绑定TPM。
注意事项
- 若后续修改BIOS/UEFI的安全配置(如关闭安全启动、调整启动顺序),可能导致TPM解锁失效,此时用原密码登录后重新绑定即可。
- 确保你的TPM版本为2.0,Ubuntu 23.10对TPM 1.2的支持有限,推荐使用2.0版本。
备注:内容来源于stack exchange,提问作者Michał F

