我有一个完整的驱动器映像2022-06-11_fedora.iso
,我正在尝试在另一台计算机上操作其分区。 (例如调整 LVM 逻辑卷大小、移动 ESP 和扩展/boot
分区)。
解密 LUKS 分区后,我似乎无法挂载 LVM 卷。在解密 LVM 卷所在的 LUKS 分区后如何挂载 LVM 卷,以便使用 LVM 命令套件操作这些卷?
图像内容的 fdisk
3个分区:
2022-06-11_fedora.iso1
是/boot
2022-06-11_fedora.iso2
是ESP2022-06-11_fedora.iso3
LVM 位于 LUKS 上
$ fdisk -l 2022-06-11_fedora.iso
Disk 2022-06-11_fedora.iso: 238.47 GiB, 256060514304 bytes, 500118192 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:
Device Start End Sectors Size Type
2022-06-11_fedora.iso1 2048 514047 512000 250M Linux filesystem
2022-06-11_fedora.iso2 514048 808959 294912 144M EFI System
2022-06-11_fedora.iso3 808960 500117503 499308544 238.1G Linux filesystem
解密第三分区
$ sudo cryptsetup plainOpen --offset=808960 2022-06-11_fedora.iso cryptdisk
Enter passphrase for 2022-06-11_fedora.iso:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 238.5G 0 loop
└─cryptdisk 253:2 0 238.1G 0 crypt
sda 8:0 0 1.8T 0 disk
└─sda1 8:1 0 1.8T 0 part
nvme0n1 259:0 0 1.8T 0 disk
├─nvme0n1p1 259:1 0 487M 0 part /boot/efi
├─nvme0n1p2 259:2 0 3.8G 0 part /recovery
└─nvme0n1p3 259:3 0 1.8T 0 part
└─cryptdata 253:0 0 1.8T 0 crypt
└─data-root 253:1 0 1.8T 0 lvm /
$ sudo fdisk -l /dev/mapper/cryptdisk
Disk /dev/mapper/cryptdisk: 238.09 GiB, 255646326784 bytes, 499309232 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
正在尝试挂载/dev/mapper/cryptdisk
$ sudo mount /dev/mapper/cryptdisk /mnt/crypt
mount: /mnt/crypt: wrong fs type, bad option, bad superblock on /dev/mapper/cryptdisk, missing codepage or helper program, or other error.
解密 LUKS 分区后如何挂载 LVM 卷?
答案1
首先,这个
sudo cryptsetup plainOpen --offset=808960 2022-06-11_fedora.iso cryptdisk
是错的。如果第三个分区确实是 LUKS 分区,那么您没有正确打开它,清楚的cryptsetup 中的模式使用提供的密码短语的哈希来解密数据,这对 LUKS 不起作用。
第二:该/dev/mapper/cryptdisk
设备是 LVM 物理卷(或者如果解密正确的话),它是不可安装的。您需要在其上安装逻辑卷。
要正确执行此操作:
- 用于
losetup
创建循环设备:sudo losetup -f 2022-06-11_fedora.iso --partscan
- 您现在应该在
lsblk
输出中看到所有三个分区。 - 使用 打开第三个分区
sudo cryptsetup luksOpen /dev/loop0p3 cryptdisk
。 - 如果在输出中没有看到逻辑卷
lsblk
,则它们没有自动激活,请使用vgscan
扫描卷组,然后使用sudo vgchange -ay <vg name>
激活它。 - 在 VG 中装载逻辑卷。该路径将是
/dev/mapper/<vgname>-<lvname>
(与您的系统 LV 相同data-root
)。
注意:VG 名称是 LVM 中的唯一标识符,因此如果映像上的 VG 也称为data
,则您将无法激活它,并且需要先通过使用 的 UUID 识别正确的 VG 来重命名它vgrename <uuid> <new name>
。(您会注意到,LVM 会抱怨系统中有两个同名的 VG。)