我有一个格式化为 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
对其进行编辑,则第一个129KiB
NTFS 已被 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
消息的原因。