使用LVM,LUKS和手动分区安装Ubuntu 15.04的正确方法是什么?

我正在尝试使用LVM和LUKS安装Xubuntu 15.04,手动分区以便拥有一个单独的/home分区。

到目前为止,我已经启动了Xubuntu live CD并完成了以下步骤:

  1. 使用gparted创建三个分区:
    • 200 MB fat32 with boot flag as /dev/sda1 – EFI系统分区。
    • 300 MB ext2 as /dev/sda2 – 将用于/ boot。
    • 400 GB unformatted as /dev/sda3 – 将是加密卷。
  2. 创建并打开加密卷:
    • cryptsetup luksFormat --cipher aes-xts-plain64 --key-size 512 --hash sha512 /dev/sda3
    • cryptsetup luksOpen /dev/sda3 crypt
  3. 在加密卷上设置逻辑卷:
    • pvcreate /dev/mapper/crypt
    • vgcreate vgcrypt /dev/mapper/crypt
    • lvcreate -n lvcryptroot -L 30G vgcrypt
    • lvcreate -n lvcryptswap -L 10G vgcrypt
    • lvcreate -n lvcrypthome -l 100%FREE vgcrypt
  4. 在逻辑卷上设置文件系统:
    • mkfs.ext4 /dev/vgcrypt/lvcryptroot
    • mkfs.ext4 /dev/vgcrypt/lvcrypthome
    • mkswap /dev/vgcrypt/lvcryptswap
  5. 运行安装程序,选择适当的选项并开始安装。
    • 设置/dev/mapper/vgcrypt-lvcryptroot以挂载点/
    • /dev/mapper/vgcrypt-lvcrypthome为mount /home
    • 设置/dev/sda2以挂载点/boot
    • /dev/sda设置为引导加载程序安装的设备。
  6. 安装程序完成后,我将进入新系统:
    • cd /mnt
    • mkdir root
    • mount /dev/mapper/vgcrypt-lvcryptroot root
    • mount /dev/sda2 root/boot
    • chroot root
    • mount -t proc proc /proc
    • mount -t sysfs sys /sys
  7. 我创建了/etc/crypttab并为它添加了/dev/sda3的条目:
    • vi /etc/crypttab
    • 插入行: crypt UUID= none luks
    • update-initramfs -u
    • exit
    • reboot

在尝试引导到新安装的系统时,我没有被要求输入密码来解密加密卷。 我被抛入initramfs提示没有任何错误。 我错过了什么?

我经历了几乎相同的步骤,只是为了更改默认/boot分区的大小。 我放弃并修改了默认安装程序的参数。 如果您还想尝试单独的/home分区,请查看: https : //askubuntu.com/a/678074/313386 。

您可以更改默认配方以包含/home分区。 启动到Live CD并查看/lib/partman/recipes-amd64-efi/50home 。 保存更改后,您可以勾选LVM和加密选项,然后选择“使用整个磁盘”。

Initramfs不会自动包含从加密卷(模块,脚本等)引导所需的所有内容。 我在两台机器上都解压缩了initramfs(加密和没有加密),它们非常不同。

通过更改crypttab和更新initramfs,您只需要向initramfs插入选项而不是其他所有选项。 你必须弄清楚如何将所有必要的东西插入initramfs。

我不会为您提供完整的教程,但是学习如何解压缩initramfs并将其与已安装的加密机器(您可以在VirtualBox中执行此操作)和您的机器进行比较,您将看到差异。 最有可能这是你的问题。

编辑/etc/crypttab ,在终端中运行sudo dpkg-reconfigure lvm2

在这里查看我对几乎相同问题的答案。 当我采用Minos的方法时,我发现我遇到的问题实际上与grub有关。 我的解决方案在Ubuntu 16.04.2上进行了测试。