如何在 Ubuntu 14.04 中挂载使用 cryptsetup(crypto_LUKS) 加密的磁盘?

如何在 Ubuntu 14.04 中挂载使用 cryptsetup(crypto_LUKS) 加密的磁盘?

我有一个格式化为 NTFS 的 4TB 磁盘,一些数据已写入其中。然后我尝试对其进行加密并将其映射为/dev/mapper/volume_sde1如下所示:

$ lsblk -io NAME,TYPE,SIZE,FSTYPE,UUID,MOUNTPOINT
sde                    disk   3.7T
`-sde1                 part   3.7T crypto_LUKS 485c6049-9e6c-4f4c-9b4d-9efe54a9497a
  `-volume_sde1 (dm-0) crypt  3.7T

然后我尝试将其安装到某个点:

$ mount /dev/mapper/volume_sde /up2s3

mount命令返回:

mount: you must specify the filesystem type

接下来我添加crypto_LUKS-t crypto_LUKS再次安装返回:

mount: unknown filesystem type 'crypto_LUKS'

如何挂载加密盘?

答案1

luks - 创建一个在现有块设备上加密的新块设备。不是文件系统 - 所以你不能在打开后直接安装它。但是 - 所有数据都丢失了。

您无法加密现有的 ntfs 分区。

如果您愿意 - 您可以通过 sda 加密设备,然后使用以下命令打开它

cryptsetup luksOpen /dev/sda1 crypted_sda1

进而

挂载 /dev/mapper/crypted_sda1 /up2s3

但是 - 请注意:

  • ntfs在这种情况下是没有用的——你不能在windows下挂载它
  • 您无法在不丢失数据的情况下加密现有设备 - 因此从 ntfs 分区创建数据备份,加密设备(cryptsetup 创建...),打开它,格式化(mkfs.ext4 /dev/mapper/crypted_sda1),最后安装和恢复从备份。

如果完成向分区写入数据,则卸载,关闭(cryptsetup close)。

答案2

如果您有一个包含数据的 NTFS,然后luksFormat对其进行编辑,则第一个129KiBNTFS 已被 LUKS 标头覆盖(如果您添加了多个密码短语,则覆盖范围更广),因此 NTFS 可能已损坏。

如果您没有数据的另一个副本,则应在此时停止一切操作并进入只读恢复过程。我不确定在这种情况下恢复 NTFS 有多容易。

使用 LUKS 进行就地加密很复杂。标准 luksFormat 不会加密任何内容,它只写入允许您 luksOpen 设备的 LUKS 标头。然后写入该设备的任何内容都会被加密,这意味着您首先mkfs使用您选择的文件系统,然后将文件复制到其中。

如果您需要删除旧的、未加密的数据(如果它不是新磁盘),您甚至必须shred -n 1在 luksFormat 之前覆盖整个设备一次(或类似的操作)。您还可以覆盖您创建的文件系统中的可用空间,但它会留下一些漏洞(192KiB-2MiB对于初学者来说,LUKS 标头本身的范围)。

答案3

sudo这应该可以做到,如果您不以 root 身份运行它,则必须使用它。

cryptsetup openLuks /dev/mapper/sde /up2s3

系统将提示您输入密码。

openLuks是一种缩写的书写方式open --type luks

当您准备好卸载驱动器时,请执行cryptsetup close /up2s3。这样做将从内存中删除密钥。

答案4

据我所知,您无法使用 LUKS 加密现有分区,因此您似乎所做的是将分区设置为加密,但您尚未对新分区进行 mkfs,这是该mount: you must specify the filesystem type消息的原因。

相关内容