我的笔记本电脑是运行 Ubuntu 20.04.3 的戴尔 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。
此时,系统会提示我输入我记下的密码,我这样做了,然后我可以成功启动到我的系统。
但是,每次我重新启动机器时,我都必须再次完成上述步骤。那么这里有什么损坏了,我该如何永久修复它?
我不确定发生了什么,但它可能有助于完全重建你的 Grub。
请从全面更新您的系统开始。
如果有错误,请修复它们。
然后重建 Grub。
重新启动以查看这是否有帮助。对不起,如果没有。
您的 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-在您的戴尔计算机上