如何在磁盘映像内安装加密lvm内的分区?

如何在磁盘映像内安装加密lvm内的分区?

在我以前的计算机上,我在加密的 lvm 内有 / /home 和 swap,在 lvm 外有 /boot 和 /boot/efi。然后我创建了一个图像。我思考我确实喜欢这样:dd if=/dev/sda of=lvm.img bs=4M但我不记得了。如果我可以先解密图像,我可以在 .bash_history 中检查它......

我一直在尝试遵循本指南:https://gist.github.com/talaj/721d50791e95ea585316ea0571822fa7

首先我检查了该文件:

# file lvm.img 
lvm.img: DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x0,0,2), end-CHS 

(0x3ff,254,63), startsector 1, 250069679 sectors, extended partition table (last)

# fdisk -lu lvm.img
Disk lvm.img: 119.2 GiB, 128035676160 bytes, 250069680 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 9FEF2EAF-1AE7-47B1-A446-7B3EBCB24A54

Device       Start       End   Sectors   Size Type
lvm.img1      2048   3907583   3905536   1.9G EFI System
lvm.img2   3907584   7813119   3905536   1.9G Linux filesystem
lvm.img3   7813120 250068991 242255872 115.5G Linux LVM

所以它看起来确实包含了它应该包含的内容。如何查看里面的分区lvm.img3并挂载?

我是这样开始的:

# kpartx -av lvm.img 
add map loop0p1 (253:3): 0 3905536 linear 7:0 2048
add map loop0p2 (253:4): 0 3905536 linear 7:0 3907584
add map loop0p3 (253:5): 0 242255872 linear 7:0 7813120

继续这个:

# cryptsetup luksOpen /dev/mapper/loop0p3 mylvm

嗯嗯?我不需要输入密码?任何。继续指导。

# vgscan
  Reading volume groups from cache.
  Found volume group "fedora" using metadata type lvm2
  Found volume group "fedora_desktop-ld77fgg" using metadata type lvm2

# vgchange -a y fedora_desktop--ld77fgg
  Volume group "fedora_desktop--ld77fgg" not found
  Cannot process volume group fedora_desktop--ld77fgg

现在我被困住了...

我正在使用 Fedora,但如果重要的话我可以切换到另一个发行版。

编辑:

正如 telcoM 在回答中指出的那样,我犯了一个非常愚蠢的错误,而且我不明白是怎么做到的。尽管如此,我仍然有问题。我通过将双破折号更改为单破折号来更正我的最后一个命令:

# vgchange -a y fedora_desktop-ld77fgg
  4 logical volume(s) in volume group "fedora_desktop-ld77fgg" now active

进而

# mount /dev/fedora_desktop-ld77fgg/03 /tmp/hej
mount: /tmp/hej: unknown filesystem type 'crypto_LUKS'.

答案1

  Found volume group "fedora_desktop-ld77fgg" using metadata type lvm2

# vgchange -a y fedora_desktop--ld77fgg

当该vgscan命令告诉您 VG 的名称时,您可以按原样使用该vgchange命令 - 无需将破折号加倍。

逻辑卷管理器 (LVM) 的简短摘要:

  • 为了使用 LVM,您可以将分区或整个磁盘初始化为 LVM 物理卷 (PV)...
  • ...并且您使用一个或多个 PV 来创建一个卷组 (VG),它基本上被视为一堆统一的原始存储空间,然后您可以将其自由切片...
  • ..一个或多个 LVM 逻辑卷 (LV)。单个 LV 可以跨越多个 PV:即使它由许多不相交的部分组成,放置在其上的文件系统也会将其视为单个逻辑上连续的存储单元。并且LV可以从VG内的一个地方迁移到另一个地方,当 LV 安装并使用时。

你只需要这样做路径名:由于格式为/dev/mapper/<VG name>-<LV name>,路径名中任何未修改的单破折号都会使其变得不明确:处理该名称的任何程序都不会知道哪个破折号是名称的一部分以及哪个破折号将<VG name><LV name>部分彼此分开。


看来您认为容器的顺序是:

disk -> partition -> LUKS wrapper -> PV -> LV -> filesystem

但尝试运行时不需要指定密码cryptsetup luksOpen,并且尝试安装时出现错误消息,/dev/fedora_desktop-ld77fgg/03这表明实际的顺序是:

disk -> partition -> PV -> LV -> LUKS wrapper -> filesystem

要确认这一点,请查看您是否cryptsetup luksOpen /dev/mapper/loop0p3 mylvm实际创建了/dev/mapper/mylvm设备。我怀疑它可能根本没有做任何事情。

相反,你现在应该这样做:

# cryptsetup luksOpen /dev/fedora_desktop-ld77fgg/03 myfs
<answer the passphrase prompt>
# mount /dev/mapper/myfs /tmp/hej

相关内容