使用LVM,LUKS和手动分区安装Ubuntu 15.04的正确方法是什么?
我正在尝试使用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
为mount/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= 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上进行了测试。