加密分区上的 LVM 将我丢到 initramfs root 丢失

mix*_*ixs 7 lvm cryptsetup

我在我的 PC 上安装了 Ubuntu 13.10 64 位。我有一个带有 LVM 加密分区的硬盘 (/dev/sda)。

所以问题是,重新启动后,我无法启动Ubuntu的(它把我与消息initramfs的提示:/dev/mapper/kubuntu....-root missing

所以我认为这是因为在启动期间它无法使用 cryptsetup 打开 /dev/sda5。如果我进行 chrooting,我可以打开分区并挂载加密的根分区。我尝试添加 grub 参数:

cryptopts=target=sda5_crypt,source=/dev/sda5,lvm=vg-root
Run Code Online (Sandbox Code Playgroud)

但是在启动期间在 cosole 中我看到在 sda5 上找不到 LVM 卷?我还发现消息:

scripts/local_top/cryptroot:line 1 /sbin/cryptsetup: not found
Run Code Online (Sandbox Code Playgroud)

任何人都可以知道出了什么问题吗?

我尝试了系统升级,创建了 cryptroot 文件,重新生成了 initram 文件。

dpa*_*pat 9

cryptsetup 模块仅在“当存在需要在 initramfs 阶段解锁的设备(例如 root 或恢复设备)”时才添加到 initramfs 映像(参见:)conf-hook。但这目前仅在根设备不在(加密的)LVM 中时才有效(可靠地)。

要将 cryptsetup 模块强制为 initramfs 映像,您必须CRYPTSETUP=y/etc/cryptsetup-initramfs/conf-hook.

您还可以cryptopts在添加initramfs选项时删除grub/kernel 参数/etc/crypttab

sda5_crypt /dev/sda5 none luks,initramfs

我刚刚在Unix & Linux回答了一个类似的问题,你可能也想看看那里。


Naf*_*Kay 2

我昨天遇到了这个问题。我使用的是 BTRFS,Ubuntu 在我不知道的文件系统上自动创建了根子卷和主子卷。我需要编辑我的/etc/fstab以正确安装这些卷。

提示:进入 initramfs shell 后,稍微尝试一下,看看是否ls /root会返回任何内容。这让我得出了我的答案。