我在桌面系统上运行 Linux Mint 18.3。
我已经将工作站从普通 LVM 迁移到 LVM 而非 LUKS。系统无法启动,启动时也不会要求输入 LUKS 密码。我可以从 LiveCD 启动系统,并正确解锁和挂载 lvm 逻辑卷chroot
,因此文件系统没有问题。
这是我第一次尝试加密现有系统。
我认为我对 initramfs 的操作有问题,它缺少一些模块、工具或配置。
我的当前配置(chroot
从 LiveDVD 进入我的根文件系统后显示)如下:
# cat /etc/crypttab
crypt_nvme0n1p2 UUID=107e557d-9b46-4a6e-897a-1e7f206700e3 none luks,discard
encSda1 UUID=4b7a630b-f224-4501-9dc7-6955be0fe44c none luks,discard
# blkid
/dev/nvme0n1p2: UUID="107e557d-9b46-4a6e-897a-1e7f206700e3" TYPE="crypto_LUKS" PARTUUID="b5caeeb7-3d41-4569-ac4f-96357c851439"
/dev/sda1: UUID="4b7a630b-f224-4501-9dc7-6955be0fe44c" TYPE="crypto_LUKS" PARTUUID="13a6508d-5e77-417e-bfbd-2d11af488128"
# pvs
PV VG Fmt Attr PSize PFree
/dev/mapper/crypt_nvme0n1p2 vg-main lvm2 a-- 237.10g 55.33g
/dev/mapper/encSda1 vg-main lvm2 a-- 465.76g 283.99g
# lvs -o+devices
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices
lv-home vg-main rwi-a-r--- 137.00g 100.00 lv-home_rimage_0(0),lv-home_rimage_1(0)
lv-root vg-main rwi-aor--- 44.76g 100.00 lv-root_rimage_0(0),lv-root_rimage_1(0)
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1.9G 0 rom
loop0 7:0 0 1.8G 1 loop
sda 8:0 0 465.8G 0 disk
└─sda1 8:1 0 465.8G 0 part
└─encSda1 253:1 0 465.8G 0 crypt
├─vg--main-lv--home_rimage_0 253:8 0 137G 0 lvm
│ └─vg--main-lv--home 253:11 0 137G 0 lvm
├─vg--main-lv--root_rmeta_0 253:2 0 4M 0 lvm
│ └─vg--main-lv--root 253:6 0 44.8G 0 lvm /
├─vg--main-lv--home_rmeta_0 253:7 0 4M 0 lvm
│ └─vg--main-lv--home 253:11 0 137G 0 lvm
└─vg--main-lv--root_rimage_0 253:3 0 44.8G 0 lvm
└─vg--main-lv--root 253:6 0 44.8G 0 lvm /
nvme0n1 259:0 0 238.5G 0 disk
├─nvme0n1p3 259:3 0 511M 0 part
├─nvme0n1p1 259:1 0 125M 0 part
├─nvme0n1p4 259:4 0 768M 0 part /boot
└─nvme0n1p2 259:2 0 237.1G 0 part
└─crypt_nvme0n1p2 253:0 0 237.1G 0 crypt
├─vg--main-lv--home_rimage_1 253:10 0 137G 0 lvm
│ └─vg--main-lv--home 253:11 0 137G 0 lvm
├─vg--main-lv--root_rmeta_1 253:4 0 4M 0 lvm
│ └─vg--main-lv--root 253:6 0 44.8G 0 lvm /
├─vg--main-lv--home_rmeta_1 253:9 0 4M 0 lvm
│ └─vg--main-lv--home 253:11 0 137G 0 lvm
└─vg--main-lv--root_rimage_1 253:5 0 44.8G 0 lvm
└─vg--main-lv--root 253:6 0 44.8G 0 lvm /
因此,在加密此系统后,我编辑了 /etc/crypttab,因此它看起来如上所示,并且我已使用 重新创建了 initramfs update-initramfs -u -k all
。然后我尝试重新启动系统,但无法启动,提示无法挂载 root fs。
启动时日志显示:
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin Running /scripts/local-top ... lvmetad is not active yet, using direct activa(...)
during sysinit
Volume group "vg-main" not found
Cannot process volume group vg-main
/run/lvm/lvmetad.socket: connect failsed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
Reading all pysical volumes. This may take a while...
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
Begin: Waiting for encrypted source device... ... /run/lvm/lvmetad.socket: connect failsed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
Reading all pysical volumes. This may take a while...
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
最后三行重复出现,没有其他事情发生 一些背景
我做错了什么?我需要在 initramfs 的配置中添加什么?我应该修改 grub 中的内核参数吗?
背景信息:
我有一个在单个驱动器上设置了 LVM 的桌面系统。我正在尝试将其迁移到使用 LUKS 的加密设置。我临时安装了另一个驱动器,在其上设置了 LUKS 分区,创建了 PV 并将现有逻辑卷(根和主)镜像到这个新的加密驱动器。
然后我擦除了旧驱动器,创建了加密卷,并在该加密卷上重新创建了 LVM PV,并镜像回 LV。我的目标是在系统可启动后删除镜像,并删除临时磁盘。
答案1
启动时需要的模块
lvm2
dmcrypt
猜测缺少 dmcrypt。请确保将这两个添加到 /etc/initramfs-tools/modules
它们还依赖于 busybox,因此请确保安装了 busybox。
然后不要忘记 update-initramfs -u