如何从(initramfs)shell 修复混乱的逻辑卷?(Linux,ElementaryOS)

如何从(initramfs)shell 修复混乱的逻辑卷?(Linux,ElementaryOS)

总结:

  • 加密的 Luks 驱动器将在启动过程中解锁,但随后无法启动。
  • 启动时降至 (intiramsfs)。
  • 逻辑卷混乱。未找到数据根目录(启动驱动器)
  • 在启动问题之前使用 Gparted 和磁盘进行分区、格式化外部驱动器。
  • 在启动问题之前正在 USB 驱动器上安装 Qubes。
  • 在分区、格式化和启动 Qubes 安装之间,逻辑卷被搞乱了。

背景:

我正在使用 Gparted 和 Disks 格式化和分区外部硬盘。我不得不对同一个硬盘重复几次,因为我搞乱了我想要的方案。

我的磁盘侧边栏显示了许多不再存在的驱动器。(怀疑映射器在分区过程中出现问题。)

将 Qubes ISO 复制到 USB 并尝试启动后,它显示已损坏。

我重新启动到我的主驱动器(ElementaryOS)...然后启动问题就出现了。

启动错误:

错误如下:

在此处输入图片描述

/dev/sda: open failed: No medium found

dev/mapper/data-root does not exist.

我试过:

启动到 USB ElementaryOS,并访问主驱动器(看看我是否可以修复映射器)。

使用文件解锁主加密驱动器,我收到错误:

Error unlocking /dev/invme0n1p2:Failed to activate device: Operation not permitted

在此处输入图片描述

错误发生后,驱动器从文件设备中消失。

将驱动器克隆到 USB,并尝试安装加密克隆。克隆时出现同样的错误。

我的怀疑是:

映射器出了问​​题。当驱动器尝试打开时,它会解密,但映射却出了问题。

问题:

您认为这确实是映射器问题吗?还是其他问题?在这种情况下我该如何修复映射器?

如果我无法修复映射器,我该如何访问加密驱动器上的数据并将其复制到另一个备份?

更新:

谢谢用户1686我已经能够确定,问题似乎与 Luks 解密设备后没有逻辑卷有关。

我将驱动器克隆到外部硬盘。我在终端中使用 cryptosetup luksOpen 和 test7 作为映射器参数安装了主驱动器 (nvme0n1p2)。它解密了。

我运行了 pvscan,并得到“未找到匹配的卷”。

我使用 test8 对克隆的驱动器重复了一遍。结果相同。

那么,如果我能够解密,但里面没有逻辑卷,我该如何访问数据?

(此时我只想获取数据,然后重新安装一个全新的系统。)

以下是我在终端看到的内容:

在此处输入图片描述

答案1

映射是短暂的,就像挂载一样,并且“映射器”不是加密磁盘的属性 - 它是当前正在运行的操作系统的一个组件。同样,挂载在 /dev 上的“devtmpfs”文件系统始终代表在正在运行的操作系统上建立的映射 - 您的物理磁盘甚至不应该/dev/mapper 或者 /dev 内的任何其他东西。

因此,如果你将同一个磁盘连接到一个完全不同的 Linux 系统(具有自己的 DM 模块和所有内容),但仍然无法访问该磁盘,那么问题几乎肯定不是出在设备映射器上,而是出在磁盘的一部分。

例如,磁盘上的 LUKS 元数据头可能已损坏(它用于实际设置 DM 映射)。这种情况不太可能发生,因为 cryptsetup 会提示输入密码,而不会出现任何问题,但它可以是(如果不太可能的话)安装程序使用相同的密码设置了两个 LUKS 卷,并且第一个成功解锁,但第二个没有。

/dev/sda 的“未找到介质”错误消息有点令人担忧。它唯一应该出现的情况是通常情况下显示的是如果设备实际上只是一个没有插入任何介质的驱动器/读取器,例如没有卡的 SD 卡读取器1。使用lsblk -Sls -l /sys/class/block/sda找出答案。(如果 HDD 或 SSD 或 USB 记忆棒出现该消息,则几乎意味着该设备已损坏。)话虽如此,从 Elementary OS 来看,您的系统磁盘似乎是 NVMe,因此 /dev/sda 不是。

1(CD/DVD 驱动器是“sr”,而不是“sd”,所以即使您有一个,它也不是导致错误的原因。)

我建议从另一个正在运行的 Linux 系统开始lsblk(单独;使用-f;使用),在那里找到您的磁盘,然后尝试通过命令行手动解锁每个 LUKS 卷,即使用。从屏幕截图来看,似乎您应该在 LUKS 内部有 LVM,因此在解锁 LUKS 卷后再次运行以查看内容是否被识别,以及(或 LVM 再次使用的任何命令)查看 LVM 元数据是否正常工作。(似乎启动过程首先打开一个 LUKS 卷并将映射命名为“cryptdata”,然后期望 LVM 在其上设置一个名为“data-root”的逻辑卷映射。)-Scryptsetup openlsblk -fpvscan -ay

相关内容