我刚刚在我的系统上安装完 12.04,并使用 LUKS 和 LVM 对其进行了配置。
我可以在恢复磁盘中正常打开加密位置,但似乎无法让它启动。
它等待根分区很长时间,然后出现无法找到根设备的错误:
ALERT! /dev/mapper/vgcryptotop-lvcryptotoproot does not exist. Dropping to a shell!
然后我得到了 initramfs 提示。我尝试运行 cryptsetup 来从这里打开磁盘,但它回复说 shell 未找到 cryptsetup。
我认为操作系统安装时没有使用 LUKS 和/或 LVM。我该如何解决这个问题?我该如何验证我的理论?
答案1
确保 dm-crypt.ko 在您的 initramfs 中。如果不在,它将无法挂载/
文件系统,这可能是您看到错误的原因。
chroot
或者直接挂载/boot
或/
文件系统并执行/sbin/lsinitramfs initrd.img-$(uname -r)
您应该看到类似下面的内容(来自 Debian wheezy box)
/boot# lsinitramfs initrd.img-`uname -r` | grep dm
...
lib/modules/3.2.0-4-amd64/kernel/drivers/md/dm-crypt.ko
...
如果不是,您可能必须从实时 CD(例如系统救援 CD) chroot 进入系统并重新生成 initramfs -> update-initramfs -u -k all
。
启动并查看是否有帮助,如果一切顺利,您应该提示输入加密密钥的密码。