LUKS/Cryptsetup 可能在硬关机后损坏

LUKS/Cryptsetup 可能在硬关机后损坏

我的笔记本电脑是一台运行 Ubuntu 20.04.3 的 Dell Precision 5560。它设置了 LUKS 磁盘加密。

大约一周前,它完全冻结了(我不知道为什么),以至于我唯一能让它重新工作的方法就是硬关机,即按住电源按钮 10 秒钟。在我这样做之后,它似乎损坏了某些东西,因为现在当我启动时,它会暂时显示以下错误:

cryptsetup: Bad password or options?

几秒钟后,它变为:

cryptsetup: ERROR; system: maximum number of tries exceeded

大约 30 秒后,系统会将我带入initramfs。如果我exit在此处输入,它会显示一些错误消息,尤其是ALERT! /dev/mapper/ubuntu-root does not exist. Dropping to a shell!


值得庆幸的是,我可以通过执行以下操作来解决这个问题:

echo -e '#!/usr/bin/sh\n/usr/bin/tpm2_nvread 0x1500016' > /clientbuild/scripts/tpm2-getkey

手动运行/clientbuild/scripts/tpm2-getkey并记下密码。

打开luks卷,重新扫描lvm卷,继续运行失败的脚本:

/clientbuild/scripts/tpm2-getkey | cryptsetup luksOpen /dev/nvme0n1p3 ubuntu-p3

lvm lvscan

sh /scripts/local

按 ctrl+D 将控制权返回给 initramfs。

此时,系统会提示我输入记下的密码,我输入后,即可成功启动系统。

但是,每次我重启机器时,我都必须重新完成上述步骤。那么这里到底是什么损坏了?我该如何永久修复它?

答案1

我不确定发生了什么,但它可能会有助于完全重建你的 Grub。

请首先全面更新您的系统。

sudo apt update
sudo apt upgrade

如果有错误,请修复。

sudo apt --fix-broken install
sudo dpkg --configure --pending
sudo apt update
sudo apt upgrade

然后重建 Grub。

sudo update-grub
sudo update-initramfs -ck all

重新启动以查看是否有帮助。如果没有帮助,请见谅。

答案2

您的 TPM 是否可能已被允许安装 BIOS 或 TPM 更新?手动或通过fwupd?您可以grep fwupd /var/log/syslog获取更多信息。

本文明确指出,必须清除固件才能更新 TPM 固件: https://www.dell.com/support/kbdoc/en-au/000184894/how-to-successfully-update-the-tpm-firmware-on-your-dell-computer

相关内容