所以我在这里安装了一个带有文档的新 Arch,用于整个系统加密。
我感到困惑的第一部分是文档写道:
警告:GRUB 不支持 LUKS2。不要在 GRUB 需要访问的分区上使用 LUKS2。
但在本节的后半部分,它告诉我运行命令cryptsetup luksFormat /dev/sda3
。但是当我运行它时,它要求输入密码,但它不是说 GRUB 不支持 LUKS2 吗?
后来我输入密码,进入我运行的grub 安装grub-mkconfig -o /boot/grub/grub.cfg
,它说filaed to connect lvmetad
,但因为它是警告,所以我忽略了它。
后来我完成了这个过程直到最后一部分,没有任何错误。
但是然后我退出arch-chroot
并重新启动,但它无法启动,它跳到下一个操作系统(在我的情况下是 Windows 10),为什么?我错了哪一部分?如何解决?
PS这是我的磁盘表,带有命令lsblk
NAME SIZE TYPE MOUNTPOINT
sda 114.6G disk
sda1 4G part
sda2 4G part /mnt/boot/efi
sda3 16G part
cryptboot 16G crypt /mnt/boot
sda4 90.6G part
lvm 90.6G crypt
AALEvol-swap 8G lvm [SWAP]
AALEvol-root 82.6G lvm /mnt
GRUB(当前)不支持 LUKS2,因此 /boot 不能进行 LUKS2 加密。
cryptsetup(从 2.1.0 版开始)默认创建 LUKS2,除非发行版打包程序另有说明。所以目前 ArchLinux 默认生成 LUKS2 容器。
https://gitlab.com/cryptsetup/cryptsetup/blob/master/docs/v2.1.0-ReleaseNotes:
您可以检查 LUKS2 是否是您的 cryptsetup 风格的默认值:
一般来说,没有充分的理由避免使用 LUKS2,只要您了解注意事项(例如 GRUB 兼容性或在 luksOpen 阶段过度使用 RAM)。
如果您出于任何原因想坚持使用 LUKS1,只需指定它:
在硬盘驱动器的开头创建一个分区,它的大小应该在 600 MB 和 1GB 之间,并在 Linux 设置中将该分区标记为/boot分区。您不应该加密引导分区,因为您的任何潜在敏感数据都不会写入其中。
如果你想在重新分区之前擦除整个硬盘驱动器,我建议你使用fdisk -l | 更多列出所有硬盘驱动器及其上的所有分区,然后当您找到驱动器时,请执行 dd if=/dev/urandom of=/dev/sd(X)其中 X 是您的硬盘驱动器号。
然后创建其他将被加密的分区:1./SWAP、2./ROOT 和 3./HOME(可选)。