我可以用解密的内容覆盖 LUKS 分区吗?

avi*_*526 5 dd hard-disk luks

我有我的数据硬盘(其他硬盘上可用的最重要数据的部分备份),目前它通过 LVM over LUKS 格式化为 Ext4。我想删除 LUKS 层,但重新格式化和从备份恢复数据太长/没有乐趣。是否有可能/机会在不使用大缓冲区且不损坏数据的情况下用其内容覆盖 LUKS 分区?

Gil*_*il' 3

无论如何,您都必须复制所有数据。此时您绝对应该有备份。除非您的备份设备比活动磁盘慢得多,否则从备份恢复的速度会尽可能快。

\n\n

LUKS 卷以标头开始(最大 2MB)。如果丢失标头,卷中的数据就会丢失。只要标头完好无损,就可以访问独立的 512 字节扇区中的数据。

\n\n

像这样的策略cat /dev/mapper/encrypted >/dev/sdz99将会起作用,因为密文相对于明文位于正偏移(标头大小)处。但是,这可能比从备份恢复要慢,因为它是同一磁盘上的副本(使用磁盘到磁盘的副本,读取和写入是并行完成的)。对于同磁盘复制,dd具有大块大小的速度仅比cat. 此策略有一个主要警告:如果在复制过程中出现电源故障或其他系统崩溃,您的整个分区将被冲洗,因为标头已首先被覆盖。

\n\n

您可以将前 2MB 数据保存在其他位置,然后移动其余数据:

\n\n
dd if=/dev/mapper/encrypted of=/dev/sdz99 bs=2M skip=1 seek=1\n
Run Code Online (Sandbox Code Playgroud)\n\n

这样,您可以在中断后恢复(但不要尝试组装逻辑卷,更不用说挂载文件系统了!);然而这需要知道你从哪里停下来的。这实际上是不可能确定的(您必须使用复制工具来输出正在复制的块的踪迹,并将其与块副本同步写入磁盘)。

\n\n

如果您的备份存储非常慢,那么您可以使用此移位策略 \xe2\x80\x94 普通cat移位将执行 \xe2\x80\x94\xc2\xa0 并在发生任何问题时回退到从备份恢复。

\n\n

如果备份存储确实很笨重,那么另一种方法是:

\n\n
    \n
  1. 缩小文件系统 ( resize2fs)。
  2. \n
  3. 缩小逻辑卷 ( lvreduce)。
  4. \n
  5. 缩小物理体积 ( pvresize)。
  6. \n
  7. 缩小加密卷
  8. \n
  9. 缩小分区(fdiskgdisk),并在释放的空间中创建一个新分区。
  10. \n
  11. 在新分区 ( ) 中创建物理卷pvcreate并将其添加到卷组 ( vgextend)。
  12. \n
  13. 将尽可能多的物理盘区移出加密卷 ( pvmove)。
  14. \n
  15. 如果加密卷不为空,请从步骤 1 开始重复。
  16. \n
  17. 摆脱现在未使用的物理卷(vgreduce然后pvremove)。
  18. \n
\n\n

又长又曲折?是的。再次强调,我的建议是从备份中恢复。

\n