我正在为小型嵌入式 Linux 系统分区外部 1TB 硬盘。我想加密交换分区。根据cryptsetep FAQ,您需要在 /etc/crypttab 中使用内核设备名称(/dev/sda 等):
不幸的是,直接通过 UUID 指定它是行不通的,因为 UUID 是交换签名的一部分,并且由于加密以及每次重新启动时都会发生变化,因此从外部看不到它。
如果我稍后附加/重新排列驱动器并且设备名称发生更改,这可能会成为问题。例如,假设交换位于 /dev/sda3。然后我附加一个不同的驱动器,它变成/dev/sda,将原始驱动器推到/dev/sdb。如果新驱动器上存在第三个分区(现在称为 sda3),它将尝试加密该驱动器并将其用作交换。
给出的一种选择是确保分区号不存在于其他磁盘上。所以,最后,我的问题:
我可以使用不连续的分区号吗?它们会在重新启动后持续存在吗?换句话说,我可以这样做吗?注意 sda4 和 sda8 之间的差距:
/dev/sda1 primary /boot
/dev/sda2 primary /
/dev/sda3 primary /home
/dev/sda4 extended
/dev/sda8 swap (encrypted)
如果是这样,我会感到非常安全,因为在任何其他驱动器上都不会看到 sda8。