![如何在 dd 命令后恢复加密分区](https://linux22.com/image/96582/%E5%A6%82%E4%BD%95%E5%9C%A8%20dd%20%E5%91%BD%E4%BB%A4%E5%90%8E%E6%81%A2%E5%A4%8D%E5%8A%A0%E5%AF%86%E5%88%86%E5%8C%BA.png)
我想创建可启动 USB (dd bs=4M if=input.iso of=/dev/sdc),但 sdc 是我的硬盘,有两个分区:1 个简单的 ext4 和 2 个加密的 LUKS。执行此操作后,我的硬盘上安装了 Windows。
运行dd命令后如何恢复加密分区?
答案1
这取决于您是否覆盖了加密分区的开头。加密分区的开头是存储密钥的位置。如果您丢失了该数据,则数据将无法破译,唯一的解决方案是从备份中恢复。
如果您只覆盖了磁盘的前 4MB,并且非加密分区位于加密分区之前,那么您会丢失非加密分区,但不会丢失加密分区。 (即使开头已被覆盖,您也可以从非加密分区恢复一些文件,但不要抱太大希望:它不可靠。)
如果加密分区完好无损,您所需要做的就是找到它的起始位置。当您覆盖磁盘的开头时,就会覆盖分区表,分区表指示分区所在的位置。得到测试盘并要求它定位分区——它会寻找魔法值指示文件系统或其他卷类型(包括 LUKS 卷)的开始。如果分区完好无损,Testdisk 应该可以找到它并且您应该能够恢复它。
然而,你提到安装Windows;这也可能覆盖了加密分区。如果您安装了Windows,只需注销磁盘上的数据并从备份中恢复即可。
1加密密钥不是直接从您的密码派生的。相反,加密密钥存储在卷的开头,本身使用从密码派生的密钥进行加密。这允许拥有多个密码(保留加密密钥的多个副本,每个副本使用不同的密码进行加密)并更改密码,而无需重新加密整个分区(只需重新加密密钥槽)。