我的笔记本电脑是一台运行 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