我正在尝试使用 LVM 和 LUKS 安装 Xubuntu 15.04,并手动进行分区以便拥有单独的/home
分区。
到目前为止,我已经启动了 Xubuntu live CD 并完成了以下步骤:
- 使用 gparted 创建三个分区:
200 MB fat32 with boot flag as /dev/sda1
- EFI 系统分区。300 MB ext2 as /dev/sda2
- 将用于 /boot。400 GB unformatted as /dev/sda3
- 将是加密卷。
- 创建并打开加密卷:
cryptsetup luksFormat --cipher aes-xts-plain64 --key-size 512 --hash sha512 /dev/sda3
cryptsetup luksOpen /dev/sda3 crypt
- 在加密卷上设置逻辑卷:
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
- 在逻辑卷上设置文件系统:
mkfs.ext4 /dev/vgcrypt/lvcryptroot
mkfs.ext4 /dev/vgcrypt/lvcrypthome
mkswap /dev/vgcrypt/lvcryptswap
- 运行安装程序,选择适当的选项并开始安装。
- 设置
/dev/mapper/vgcrypt-lvcryptroot
为挂载点/
。 - 设置
/dev/mapper/vgcrypt-lvcrypthome
为挂载点/home
。 - 设置
/dev/sda2
为挂载点/boot
。 - 设置
/dev/sda
为引导加载程序安装的设备。
- 设置
- 安装程序完成后,我进入新系统:
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
- 我创建
/etc/crypttab
并添加了一个条目/dev/sda3
:vi /etc/crypttab
- 插入以下行:
crypt UUID=<uuid_here> none luks
update-initramfs -u
exit
reboot
尝试启动新安装的系统时,系统不会要求我输入密码来解密加密卷。我进入了 initramfs 提示符,没有任何错误。我错过了什么?
答案1
我经历了几乎相同的步骤,只是为了更改默认/boot
分区的大小。我放弃了,并修改了默认安装程序的参数。如果您也只是想拥有一个单独的/home
分区,请查看以下内容:https://askubuntu.com/a/678074/313386。
您可以更改默认配方以包含/home
分区。启动实时 CD 并查看/lib/partman/recipes-amd64-efi/50home
。保存更改后,您可以勾选 LVM 和加密选项并选择“使用整个磁盘”。
答案2
Initramfs 不会自动包含从加密卷启动所需的一切(模块、脚本等)。我在两台机器(带加密和不带加密)上解压了 initramfs,它们非常不同。
通过更改 crypttab 和更新 initramfs,您只是将选项插入到 initramfs,而不是其他所有内容。您必须弄清楚如何将所有必要内容插入到 initramfs。
我不会为您提供完整的教程,但您可以学习如何解压 initramfs 并将其与已安装的加密机器(您可以在 VirtualBox 中执行此操作)和您的机器进行比较,然后您会看到差异。这很可能是您的问题。
答案3
编辑后,在终端中/etc/crypttab
运行。sudo dpkg-reconfigure lvm2
答案4
看看我对几乎相同问题的回答这里。当我采用 Minos 的方法时,我发现我遇到的问题实际上与 grub 有关。我的解决方案在 Ubuntu 16.04.2 上进行了测试。