如何设置具有全盘加密的第二个硬盘

如何设置具有全盘加密的第二个硬盘

我已经设置了全盘加密,并且与我的 xubuntu 17.10 完美配合。现在我又买了第二块硬盘,希望启用全盘加密。

在理想的世界中,两个驱动器都会在启动时安装。

答案1

我已经把一切都安排好了。我做了几件事,其中一些在网上有很好的记录,而其他的……记录得不是很好。在这里我将描述我所做的事情,希望对其他人有用。

请记住,这里几乎每个命令都需要管理员权限,sudo -i是您的朋友。

首先,我需要创建一个空的分区表和一个占据整个驱动器的单个分区,该分区不能有任何文件系统。我使用 GParted 完成了这项工作,但其他任何工具都可以。

然后我需要加密该分区:

cryptsetup --iter-time 5000 --use-random luksFormat --type luks2 /dev/sdb1
cryptsetup open /dev/sdb1 large_crypt

在这种情况下,“大”只是我决定为该特定驱动器命名。

之后将 LVM 放在该加密分区之上:

pvcreate /dev/mapper/large_crypt
vgcreate largevg /dev/mapper/largevg

现在是时候在创建的卷组(这里是 largevg)内创建逻辑卷了,我希望有 20G 交换空间,其余部分为 ext4。

vgdisplay --units B

这给出了虚拟组的大小(以字节为单位)。我记下了我创建的虚拟组,并手动从中减去了 20G

以下命令是从执行的,/dev/mapper/这样我就不必一直写路径

lvcreate -L 1980393601024B -n work largevg
mkfs.ext4 largevg-work
lvcreate -l 100%FREE -n swap largevg 
mkswap largevg-swap

为了在启动时安装所有内容,我做了一个有据可查的技巧:

dd if=/dev/random of=/root/.large-keyfile bs=1024 count=4
chmod 0400 /root/.large-keyfile 
cryptsetup luksAddKey /dev/sdb1 /root/.large-keyfile

最后我需要真正确保所有内容在启动时都已安装:

blkid

然后记下块设备分区 UUID(/dev/sdb1在我的情况下)。这将/etc/crypttab如下所示:

large_crypt UUID=[whatever uuid of sdb1 was] /root/.large-keyfile luks,discard

然后将其添加到/etc/fstab

/dev/mapper/largevg-work    /some/path  ext4    errors=remount-ro   0   2
/dev/mapper/largevg-swap    none    swap    sw  0   0

以防万一我这样做了:

update-initramfs -u

现在一切都运行得几乎完美。唯一的问题是,无论出于什么原因,XUbuntu 认为驱动器是外部的,并将图标放在桌面上,并试图允许我卸载它(但我无法执行此操作),但是,这是一个小麻烦,我稍后会修复它。

相关内容