全盘加密 - 单独的主分区

Isl*_*lam 9 encryption disk

在 Ubuntu 12.10 安装程序中使用全盘加密功能时如何创建单独的 /home 分区?

cxx*_*xxc 0

警告:请记住,您所做的事情必须正确完成,否则您可能会破坏硬盘驱动器上的其他系统或其他分区上的数据。如果您要安装到整个硬盘并想要覆盖整个磁盘,请不用担心。

当你安装时,当你看到这个屏幕时:

在此输入图像描述

选择其他东西。

您将需要创建至少两个分区(如果需要交换则创建三个分区)。

为您的系统创建一个分区并将其挂载点设置为“/”

为主目录创建另一个分区并将其挂载点设置为“/home”

如果需要,也创建一个交换分区。

当系统要求您加密 /home 目录时,请选择该选项。

在开始此过程之前,请参阅本教程。如果您已经安装了另一个系统并希望将其安装在其旁边,请确保使用 remastersys 对其进行备份或仅备份您的文件。


oro*_*hen 0

这也适用于 Mint 17.2。很难相信这个问题还没有得到解决。

分区

启动安装盘,并打开终端。假设您想使用 GPT,而不使用 UEFI,请使用 gdisk 对磁盘进行分区。

gdisk /dev/sda
Run Code Online (Sandbox Code Playgroud)

在 gdisk 中:

  • 创建新的GUID分区表
  • 创建一个1M的BIOS启动分区(分区类型ef02)。开始=0,结束=+1M。
  • 创建grub分区(分区类型8300)。至少 256 MB。
  • 创建 LUKS crypt 分区(分区类型 8E00)。保留建议的开始/结束以使用磁盘的其余部分。
  • 按“w”写入磁盘。

现在在刚刚创建的分区上创建 LUKS 容器,并将其命名为“lvm”(或任何您想要的名称):

cryptsetup luksFormat /dev/sda3
cryptsetup luksOpen /dev/sda3 lvm
Run Code Online (Sandbox Code Playgroud)

在 LUKS 容器中为 LVM 创建物理卷,然后创建卷组:

pvcreate /dev/mapper/lvm
vgcreate lvmgrp /dev/mapper/lvm
Run Code Online (Sandbox Code Playgroud)

创建逻辑卷(您的大小可能会有所不同):

lvcreate -L 4G lvmgrp -n swapvol
lvcreate -L 20G lvmgrp -n rootvol
lvcreate -l +100%FREE lvmgrp -n homevol
Run Code Online (Sandbox Code Playgroud)

安装 Ubuntu/Mint

现在启动安装程序,使终端保持打开状态。在分区步骤中,选择“其他”。设置以下挂载点,选中适用的“格式”框:

  • 在 /boot 上挂载 /dev/sda2
  • 在 /home 上挂载 homevol
  • 将 rootvol 挂载到 /
  • 将 swapvol 设置为交换空间。

现在继续安装,但在安装结束时单击“继续尝试”。

重新启动之前

返回终端,将新系统挂载到 chroot 中:

mount /dev/mapper/lvmgrp-rootvol /mnt
mount /dev/sda2 /mnt/boot
cd /mnt
mount /dev --bind dev
chroot .
mount proc
mount sysfs
mount devpts
mount tmpfs
Run Code Online (Sandbox Code Playgroud)

运行blkid以获取 LUKS 容器 (/dev/sda3) 的 UUID。

使用以下行编辑或创建 /etc/crypttab:

lvm UUID=8f379863-d591-4101-9251-70ae8a34ad02 none luks
Run Code Online (Sandbox Code Playgroud)

当然,你的 UUID 会有所不同。这将导致系统在启动时尝试打开名为“lvm”的 LUKS 容器。

这是实际执行此操作的初始 RAM 映像,因此我们需要更新它:

update-initramfs -u
Run Code Online (Sandbox Code Playgroud)

这将从 crypttab 文件中读取并对 initram 映像进行必要的更改。现在,您将收到启动时输入密码的提示。

为了安全起见,卸载所有东西:

umount tmpfs
umount devpts
umount sysfs
umount proc
exit
umount dev
umount boot
cd
umount /mnt
Run Code Online (Sandbox Code Playgroud)

现在重新启动,并取出安装盘。

解释

所以这是启动时发生的事情:

  • BIOS 将控制权交给 GRUB,GRUB 加载内核并执行位于 /boot 分区中的 initram 映像。
  • initram 配置为解锁 LUKS 容器,因此接下来它将执行此操作。
  • 现在根文件系统(在 rootvol 中)可以访问,因此内核可以完成系统加载。

这是一个很好的参考。