全盘 LUKS 加密无需输入密码

全盘 LUKS 加密无需输入密码

我在戴尔笔记本电脑上运行 Kubuntu 20.04。昨天升级后,我的电脑崩溃了,重启后,磁盘解密密码提示消失了。现在我根本无法启动电脑,除非通过 LiveUSB。

当我启动机器时,我在启动画面上收到一条消息

cryptsetup: Waiting for encrypted source device UUID=...

如果我按 F12,我会收到以下消息:

[0.842138] Initramfs unpacking failed: Decoding failed
Volume group "vgkubuntu" not found
Cannot process volume group vgkubuntu
ALERT! encrypted source device UUID=... does not exist, can't unlock nvme0n1p3_crypt
Check cryptopts=source= bootarg: cat /proc/cmdline
or missing modules, devices cat /proc/modules; ls /dev

然后我进入了 Busybox shell,但我不知道从那里该做什么。

以下是上述命令的结果。可能存在拼写错误,因为我是从屏幕上抄录的。我只包含了几行看起来相关的内容,但如果还有其他需要注意的地方,请告诉我:

cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-5.3.0-64-generic root=/dev/mapper/vgkubuntu-root ro quiet splash

cat /proc/modules
dm_crypt 45056 0 - Live 0xffffffffc036b000
...
cryptd 24576 2 ghash_clmulni_intel,crypto_simd, LIve 0xffffffffc06b7000
...

我不知道如何查看所有返回的行

ls /dev

因为“less”和“more”不起作用,但没有 sda 或 sda# 的条目。

我也可以从 USB 启动计算机。当我这样做时,我收到与上述相同的消息:

Initramfs unpacking failed: Decoding failed

但之后操作系统又打开了。不过之后我尝试

fdisk -l

但内部硬盘不可见。

我将非常感激任何帮助或建议,以便(a)修复当前安装以重新启用密码提示或(b)通过 USB 访问加密硬盘,以便我可以重新安装之前提取一些数据。

谢谢!

答案1

我建议你使用 Live CD 启动,检查你的 nvme 是否出现,如果出现,请使用以下命令打开你的加密分区

您是否有第二个磁盘用于放置启动分区?

cryptsetup open <partition> crypt

这将使你能够通过 访问分区/dev/mapper/crypt。(你可以crypt用你想要的名字替换)

然后,您可以挂载根分区(使用 lsblk 检查它是哪一个,但基于您的日志/dev/mapper/vgkubuntu-root),以及您认为合适的每个其他分区。

然后,你有两个选择:

  • 提取数据以重新安装
  • 尝试修复你的电脑

如果你选择第二个,这里有一些提示:

  • 您可以运行blkid <blockdevice>来查看分区的 UUID,其中块设备是一个分区,一个 LVM 卷...
  • 您可以通过实时 USB 访问您的系统,使用chroot,您可以尝试重新配置您的引导程序(阅读 grub 上的文档)、initramfs(这是启动的初始系统,要求您输入解密密码,然后挂载并启动您正在使用的常规系统,conf 文件位于/etc/initramfs-tools/,更新...但更重要的是,阅读日志以尝试调试

祝你一路顺风,玩得开心,如果你要进行修复,请随时寻求建议!

相关内容