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

Min*_*nos 5 encryption partitioning boot lvm luks

我正在尝试使用 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为挂载点/home
    • 设置/dev/sda2为挂载点/boot
    • 设置/dev/sda为引导加载程序安装的设备。
  6. 安装程序完成后,我 chroot 进入新系统:
    • 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=<uuid_here> none luks
    • update-initramfs -u
    • exit
    • reboot

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

小智 4

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

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


小智 1

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

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

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