LUKS/Cryptosetup 和 LVM:启动后无法输入密码

LUKS/Cryptosetup 和 LVM:启动后无法输入密码

所以我多次成功地遵循了这个特别的教程 http://thesimplecomputer.info/full-disk-encryption-with-ubuntu

有 2 个略有不同的地方:使用 lubuntu 代替 ubuntu,并将其安装在 USB 密钥上而不是普通驱动器上。

然而,当我最近尝试在新的 usb 密钥上使用它时,发生了一些事情。在使用的最初几天里一切都很好,直到我用 apt-get 进行了 dist-upgrade。我完成了它,没有问题或中断。

但是现在当我启动时,基本上我会看到通常的 Lubuntu 启动画面,但没有我通常输入密码的输入字段。

我尝试按向上或向下箭头键,看看是否可以在终端模式下输入,但没有成功。看到的只是消息“cryptsetup:lvm 不可用”,重复无数次,然后基本上 busybox 模式就启动了。

注意:使用其他 USB 密钥时,也会随机出现该消息“cryptsetup:lvm 不可用”(USB 密钥中相同的 cryptsetup + lubuntu),但我仍然有输入字段,并且可以继续解锁加密卷而不会出现问题。

所以我现在不明白问题出在哪里。我认为问题不在于 grub 或 boot,否则根本无法启动。

最后的 dist-upgrade 肯定导致了这个问题,我刚刚看到它确实更新了 linux 标头等等,但我无法理解这个问题。

如果这有关系的话,我正在使用安装在具有 MBR 分区表的磁盘上的 lubuntu yakkety。

我可以尝试如何修复此问题?有没有办法通过 busybox 修复此问题?我并不是使用此类终端的专家


更新

根据以下答案的建议,我尝试从 neon live cd 中进行以下操作:

  • 使用 KDE 分区管理器并解锁加密的 LUKS 卷。现在您需要激活 LVM。在 KDE 分区管理器中按 F5(刷新)或在终端中输入 sudo vgchange -ay。您的根文件系统现在应该作为块设备出现在 /dev/mapper/ 中。同样,在 KDE 分区管理器中,可能更容易直观地看到根文件系统的名称。假设它是 /dev/mapper/rootfs,但您必须在下面的命令中替换正确的路径。
  • 然后执行以下命令将 chroot 到您的根文件系统:

    sudo mount /dev/mapper/rootfs /mnt1 sudo mount --bind /dev /mnt/dev sudo mount --bind /sys /mnt/sys sudo chroot /mnt

最后使用“sudo update-initramfs -u -k all”我得到了以下输出:

update-initramfs: Generating /boot/initrd.img-4.8.0-32-generic
cat: /proc/cmdline: No such file or directory
/proc/devices: fopen failed: No such file or directory
Failed to set up list of device-mapper major numbers
Incompatible libdevmapper 1.02.130 (2016-07-06) and kernel driver (unknown version).
Command failed
cryptsetup: WARNING: failed to determine cipher modules to load for root
/proc/devices: fopen failed: No such file or directory
Failed to set up list of device-mapper major numbers
Incompatible libdevmapper 1.02.130 (2016-07-06) and kernel driver (unknown version).
Command failed
cryptsetup: WARNING: failed to determine cipher modules to load for swap
Warning: couldn't identify filesystem type for fsck hook, ignoring.
update-initramfs: Generating /boot/initrd.img-4.8.0-30-generic
cat: /proc/cmdline: No such file or directory
/proc/devices: fopen failed: No such file or directory
Failed to set up list of device-mapper major numbers
Incompatible libdevmapper 1.02.130 (2016-07-06) and kernel driver (unknown version).
Command failed
cryptsetup: WARNING: failed to determine cipher modules to load for root
/proc/devices: fopen failed: No such file or directory
Failed to set up list of device-mapper major numbers
Incompatible libdevmapper 1.02.130 (2016-07-06) and kernel driver (unknown version).
Command failed
cryptsetup: WARNING: failed to determine cipher modules to load for swap
Warning: couldn't identify filesystem type for fsck hook, ignoring.

更新2:

这是我删除所有内容并重复整个过程后得到的新错误输出。我包括了 grub 启动菜单后我可以看到的两个屏幕。

执行命令“update-initramfs -u -k all”后,我看到此错误日志:

root@lubuntu:/# update-initramfs  -u -k all
update-initramfs: Generating /boot/initrd.img-4.8.0-22-generic
device-mapper: table ioctl on root failed: No such device or address
Command failed
cryptsetup: WARNING: failed to determine cipher modules to load for root
device-mapper: table ioctl on swap failed: No such device or address
Command failed
cryptsetup: WARNING: failed to determine cipher modules to load for swap
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915
Warning: couldn't identify filesystem type for fsck hook, ignoring.

在这里你可以看到启动后 lubuntu 的显示情况,密码输入没有显示

没有密码输入字段

如果我在上一个屏幕中按 F2,则会看到以下内容

答案1

我建议下载已经打包了 KDE Partition Manager 3.0 的 Neon Live CD(但 Ubuntu 17.04 也会有)。然后打开终端窗口并运行 sudo apt update; sudo apt install cryptsetup lvm2 partitionmanager

  • 启动 KDE 分区管理器并解锁加密的 LUKS 卷。或者,您也可以从终端执行此操作:sudo cryptsetup open /path/to/USB_device decrypted。此步骤后将/dev/mapper/decrypted包含 LVM PV 卷。
  • 现在您需要激活 LVM。在 KDE 分区管理器中按 F5(刷新)或sudo vgchange -ay在终端中输入。您的根文件系统现在应该在中显示为块设备/dev/mapper/。同样,在 KDE 分区管理器中,从视觉上看您的根文件系统的名称可能更容易。假设它是,/dev/mapper/rootfs但您必须在下面的命令中替换正确的路径。

然后执行以下命令将 chroot 到您的根文件系统:

  • sudo mount /dev/mapper/rootfs /mnt
  • sudo mount --bind /dev /mnt/dev
  • sudo mount --bind /sys /mnt/sys
  • sudo mount --bind /proc /mnt/proc
  • sudo chroot /mnt
  • sudo mount /boot

现在您需要重新生成 initramfs。尝试运行:

sudo update-initramfs -u -k all 看看它是否显示任何有关 lvm 的错误,您需要修复这些错误。稍后我会尝试找到更多链接...请在此处发布您看到的任何错误。

相关内容