我有一个非 Linux 分区,我想用 LUKS 加密。目标是能够将其单独存储在没有 Linux 的设备上,并在需要时使用 Ubuntu Live CD 从设备访问它。
我知道 LUKS 无法就地加密分区,所以我创建了另一个大小完全相同的未格式化分区(使用 GParted 的“Round to MiB”选项)并运行以下命令:
sudo cryptsetup luksFormat /dev/xxx
其中 xxx 是分区的设备名称。然后我输入我的新密码并确认。奇怪的是,命令之后立即退出,所以我猜它不会立即加密整个分区?无论如何,然后我运行了这个命令:
sudo cryptsetup luksOpen /dev/xxx xxx
然后我尝试将现有分区的内容(称为 yyy)复制到加密的分区,如下所示:
sudo dd if=/dev/yyy of=/dev/mapper/xxx bs=1MB
它运行了一段时间,但退出了:
dd: writing `/dev/mapper/xxx': No space left on device
就在写入最后一个 MB 之前。我认为这意味着 yyy 的内容在复制到 xxx 时被截断,因为我之前已经 dd 了它,并且每当我 dd 到完全相同大小的分区时,我从来没有得到那个错误。(并且 fdisk 报告它们的块大小相同)。
经过一番谷歌搜索后,我发现所有 luksFormat'ted 分区都有一个自定义标题,后跟加密内容。因此,看来我需要创建一个与旧分区大小完全相同的分区 + LUKS 标头的字节数。
目标分区应该是什么大小,不。1,没有。2,我在正确的轨道上吗?
更新
我在 LUKS 常见问题解答中找到了这个:
- 我认为这太复杂了。有替代方案吗?
是的,您可以使用普通的 dm-crypt。它不允许使用多个密码,但从好的方面来说,它在磁盘描述上为零,如果你覆盖了普通 dm-crypt 分区的某些部分,那么被覆盖的部分就会丢失(四舍五入到扇区边界)。
所以也许我根本不应该使用 LUKS?
知道了。dm-crypt 成功了。如果您只需要一个键并且需要分区为一定大小,请使用它而不是 LUKS。
对旧问题的回答很晚,但仍然存在......也许对其他人有帮助。
我有一个类似的想法:我有一个备用硬盘,我想在该硬盘上创建一个加密分区,以允许从我的根 SSD 到加密磁盘的简单基于 rsync 的备份。
我在wiki(和其他一些 wiki 页面)中阅读了有关加密文件系统的信息。
那里的第一个答案:使用 gnome-disk-utiliy。问题在于:选择创建加密分区时它会崩溃。然后我转向这里;并发现关于“dm-crypt”的 4 岁答案对 16.04 没有帮助;因为周围甚至没有 dm-crypt 的软件包。
所以我开始研究cryptsetup;长话短说:必须输入“是”才能继续运行。然后它就可以快速而良好地工作:
例子:
对 cryptsetup 的第一次调用要求用大写字母输入“yes”……一旦你真正输入 YES,而不是 Yes 或 yes……它就会完成它的工作。