系统断电后LUKS密码错误

系统断电后LUKS密码错误

我正在尝试查明我的笔记本电脑 LUKS 驱动器发生了什么情况。我确信它的电池没电了,因为我忘了插上电源。今天早上我启动系统,LUKS 密码不起作用。我尝试了几次重新启动,每次尝试 3 次后它最终都会提供紧急控制台,因为它无法解密驱动器。

我的问题是,如果笔记本电脑断电并且没有时间暂停/睡眠,是否会损坏密码?我原以为断电损坏会导致它根本不要求任何密码...损坏,而不仅仅是弄乱密码。

我尝试在从 Live CD 启动时解密 crypt 卷,但仍然失败。在这种情况下,是否仍然值得尝试恢复启动文件?

答案1

LUKS 的工作原理是将少量空间(通常在加密分区上)专用于“LUKS 标头”。该标头包含一个校验和,因此它应该检测损坏。此外,还有两份;每个副本都有自己的校验和,因此如果一个副本损坏,它应该自动使用另一个副本。除了标头之外,还有密钥槽数据,它实际上存储加密密钥。这不是重复的,我相信至少会检测到损坏(如果有的话,您可以使用备份密钥/密码)。

该格式的文档可以在以下位置找到:https://gitlab.com/cryptsetup/LUKS2-docs/blob/master/luks2_doc_wip.pdf

因此,我认为磁盘上的数据不太可能被损坏,更不可能没有出现损坏错误而不是错误的密码。

更有可能的是,您只是输入了错误的密码 - 可能您正在使用不同的键盘布局,打开了大写锁定键,或者您忘记了它。如果您有备份恢复密钥,则可以使用它来恢复数据。

(旁注,如果它确实被损坏,并且您没有标头+键槽或主密钥的备份,则数据完全无法恢复)。

Frostschutz 指出,如果你还在旧 LUKS1 格式那么就没有校验和,因此可能会发生损坏(尽管仍然存在幻数等,因此如果整个扇区被覆盖,就会被注意到)。另外,如果您是从非常旧的 cryptsetup/gcrypt(2014 时代)升级的,则有一个错误修复会破坏 cryptsetup;看https://gitlab.com/cryptsetup/cryptsetup/-/wikis/FrequentlyAskedQuestions#8-issues-with-specific-versions-of-cryptsetup了解详情。

答案2

我的问题是,如果笔记本电脑断电并且没有时间暂停/睡眠,是否会损坏密码?

它是极其不太可能。除非您更改密码或重新加密,否则 LUKS 标头通常不会更新(写入)。

我原以为断电损坏会导致它根本不要求任何密码...损坏,而不仅仅是弄乱密码。

我相信您的/boot文件已损坏,但数据完好无损。尝试从应急媒体启动并恢复特定于发行版的 Linux 启动文件。

我尝试在从 Live CD 启动时解密 crypt 卷,但仍然失败。在这种情况下,是否仍然值得尝试恢复启动文件?

不,这没有帮助,很可能你已经不幸失去了一切。可能有其他东西修改了安全标头。

答案3

放弃之前要检查的事项:

  1. 笔记本电脑键盘的Caps Lock/Num Lock/F lock?有些笔记本电脑具有“集成数字键盘”,占用与数字键共享的字母键或 F 键。电池完全耗尽可能会触发 BIOS 重置。

  2. 尝试外接键盘。键盘有自己的控制器,当断电时也会以意想不到的方式出现故障。

2.1 尝试在您看到所输入内容的地方(该地方可能是紧急控制台)输入密码。看起来合适吗?

  1. 尝试将磁盘连接到已知良好的计算机。

  2. LiveCD 有不同的 LUKS 版本吗?

相关内容