我有 3 个分区:EFI ( /boot/efi
)、boot ( /boot
) 和 root ( /
)。我想加密只是 /
。我可以通过安装程序手动完成此操作,但我想预先植入它。
我该如何定义它?我的(非加密)配方如下所示。这是我找到的有关 EFI 系统分区的建议的大杂烩(没有找到明确的指南)。
boot-root ::
100 100 100 fat32
$primary
$iflabel{ gpt }
$reusemethod( }
use_filesystem{ } filesystem{ vfat }
method{ efi } format{ }
mountpoint{ /boot/efi }
.
300 300 300 ext4
use_filesystem{ } filesystem{ ext4 }
method{ format } format{ }
mountpoint{ /boot }
.
100% 3000 100% ext4
use_filesystem{ } filesystem{ ext4 }
method{ format } format{ }
mountpoint{ / }
.
我如何制作sda3
一个用于 LUKS 加密的物理分区,然后在其上建立文件系统?
更新:
我发现我可以按如下方式将分区设置为加密,但仍然存在 3 个问题:
- 我仍然需要在所选分区上创建并激活加密卷
- 创建并激活加密卷后,我仍然需要在加密卷上设置正确的 ext4 文件系统
- 该配方没有选择
dm-crypt
创建和激活加密卷所需的加密类型。
仍在奋力挣扎
boot-root ::
100 100 100 fat32
$primary
$iflabel{ gpt }
$reusemethod( }
use_filesystem{ } filesystem{ vfat }
method{ efi } format{ }
mountpoint{ /boot/efi }
.
300 300 300 ext4
use_filesystem{ } filesystem{ ext4 }
method{ format } format{ }
mountpoint{ /boot }
.
100% 3000 100% ext4
method{ crypto } format{ }
.
答案1
首先,打开一个 root 终端:
sudo -i
然后使用如下命令用随机数据填充需要加密的分区:
openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero > /dev/sdxy
您必须用sdxy
将要加密的分区替换。然后输入
cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 2000 /dev/sdxy
加密分区sdxy
。打开卷并命名它root
:
cryptsetup luksOpen /dev/sdxy root
使用此命令在其中创建一个 ext4 文件系统:
mkfs.ext4 /dev/mapper/root
接下来,您可以启动安装程序。当系统询问您要做什么时,请选择“其他”。然后选择所有未加密分区的挂载点。对于您的root
分区,选择/dev/mapper/root
,单击“更改”。然后选择ext4
文件系统类型并将挂载点设置为/
。然后单击“立即安装”并正常安装 Ubuntu。
安装完成后,单击“继续测试”。打开终端并输入:
sudo -i
cd /mnt
mkdir root
mount /dev/mapper/root root
mount /dev/sdyz root/boot
sdyz
应该替换为您的boot
分区。接下来,输入:
chroot root
mount -t proc proc /proc
mount -t sysfs sys /sys
nano /etc/crypttab
打开第二个终端并输入sudo blkid
。找到 UUID (最后root
显示的那个)并将其粘贴到。然后文件应该看起来像这样:crypto_luks
/etc/crypttab
/etc/crypttab
root UUID=d68911dd-172a-4608-86d4-084eb72f409c none luks
Ctrl使用+x和关闭文件y。在终端中Enter输入并检查一切是否正确(例如 UUID)。nano /etc/fstab
最后,退出 chroot 环境并输入:
cryptsetup luksHeaderBackup /dev/sdxy --header-backup-file /root/root.img
这会将加密分区的头部图像放入文件夹中/root
并将其命名为root.img
。然后将图像移动到外部驱动器(以防忘记密码)。现在您可以重新启动进入新安装的 Ubuntu。
来源:http://thesimplecomputer.info/full-disk-encryption-with-ubuntu