LUKS加密NTFS分区

我打算在目前只有一个SSD驱动器的System76笔记本电脑上进行一次全新安装,安装的是Ubuntu 18.04。
不久之后,我将在同一台笔记本电脑上安装第二个SSD,上面将安装Windows 8.1。
我将会85%的时间使用Ubuntu。然而,我希望Windows安装能够轻松访问(读写)我的数据文件(文档、电子表格、图片、视频、PDF文件)。
在18.04安装中,我考虑使用Ubuntu安装程序的默认分区设置,加上加密+添加一个NTFS分区,这将是最大的分区;我会把数据文件放在那里。我还希望对NTFS分区进行加密。
两个问题:
1. 这个方法听起来合适吗? 2. 如何使用LUKS加密NTFS分区?或者LUKS是对整个驱动器进行加密,而不是每个分区?
1个回答

让我以不按顺序回答你的问题,首先解释一下为什么使用LUKS加密NTFS分区不是一个好主意。
首先,LUKS是如何工作的?
LUKS可以用来加密文件(文件容器)、分区或整个磁盘。如果你让安装程序为你加密所有内容,实际上会创建两个分区,一个引导分区和一个包含根目录及其子目录(除了/boot及其子目录)的LUKS加密分区。如果你使用UEFI,还会有第三个EFI分区。这意味着你将无法选择创建你想要的NTFS分区。
这不可避免地意味着你需要使用手动分区。这是一个复杂的过程,不像你想象的那样简单。我在其他地方写了两篇关于LUKS与手动分区的答案(使用LVM不使用LVM)。在你的情况下,你不希望将NTFS分区放在任何可能创建的LVM分区中,因为Windows将无法访问LVM逻辑卷中的NTFS分区。
更进一步复杂化问题的是,Windows不能本地解密LUKS分区,所以最终你将不得不安装另一个软件,比如LibreCrypt,但从链接答案中的评论可以看出,LibreCrypt似乎已经被放弃了,所以这可能不是一个好选择。因此,虽然使用LUKS加密你的Linux安装是可以的,但使用LUKS加密在Linux和Windows系统之间共享的NTFS分区可能不明智。

有什么更好的方法吗?

这个问题让我们思考的是如何加密一个分区,以便Linux和Windows都能解密它并访问其中的NTFS分区。曾经,我会推荐使用TrueCrypt。当然,TrueCrypt的开发突然停止了。所以现在不再是一个选择。在停止开发后,出现了一个名为VeraCrypt的分支版本,并且仍在维护中。VeraCrypt可以安装在Windows和Linux上,从而使得两个操作系统都能访问任何一个VeraCrypt加密的分区。作为开源软件,其代码可供公众审查。VeraCrypt可能是你最好的选择。
我怀疑VeraCrypt是否可以用来加密整个Linux系统,但我从未尝试过,所以我不能说这是不可能的。如果我要按照你描述的方式设置双启动系统,我可能会这样做...
按照我在这里描述的方式,使用手动分区安装Ubuntu,但在现有硬盘上创建以下物理分区。

  • 分区1:EFI(仅适用于使用UEFI的情况)
  • 分区2:/boot
  • 分区3:LVM(包含所有其他Linux专用分区)
  • 分区4:空分区--格式不重要--保留用于VeraCrypt加密(在其解密状态下,这将承载您的NTFS分区)

在安装Linux之后,您可以安装VeraCrypt并使用VeraCrypt加密最后一个分区,选择NTFS作为包含的文件系统。


我不会说这个过程会很容易。如果你尝试这样做,有时可能会遇到一些令人沮丧的障碍,但这很可能是目前正在维护的现有加密技术中实现你想要实现的目标的最简单方法。