LUKS分区恢复

具有2个分区的驱动器 – 第一个分区是纯ext4,第二个分区是encryption的LUKS。 分区表已被覆盖。 我发现第二个分区的开始,我需要恢复,因此:

#hexdump -s 400000m -C /dev/sdc | grep LUKS 61d3dec850 79 c8 81 6d e5 4c 55 4b 53 40 49 aa 29 df de d7 |y..m.LUKS@I.)...| 

然后:

 #losetup -o 0x61d3dec850 -r -f /dev/sdc #losetup -a /dev/loop0: [0005]:477209 (/dev/sdc), offset 420166420560 

好吧,那么这个问题popup:

 #cryptsetup luksOpen /dev/loop0 luksrecover Device /dev/loop0 is not a valid LUKS device. 

请咨询如何继续。 这是错误的抵消? 我应该寻找神奇数字0xEF53识别ext4在这里build议https://unix.stackexchange.com/questions/103919/how-do-i-find-the-offset-of-an-ext4-filesystem ?

请注意,这是一个1TB的驱动器,所以我需要一个build议,如果可能的话,不要强制重新扫描整个驱动器(小时和小时),例如testing盘似乎没有选项可以在指定的偏移量处开始以节省时间扫描。

PS这是接近,但不是很: https : //unix.stackexchange.com/questions/177070/lvm-encrypted-partition-without-partition-table

第一个明显的问题是你看错了地方。 这不是一个LUKS头。

LUKS分区头以六个字节开始,定义为LUKS ,后跟0xBA,0xBE。 正如您可以清楚地看到的那样,这六个字节中的两个不在那里。

你在找什么是非常明显的:

 00000000 4c 55 4b 53 ba be 00 01 61 65 73 00 00 00 00 00 |LUKS....aes.....| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000020 00 00 00 00 00 00 00 00 78 74 73 2d 70 6c 61 69 |........xts-plai| 00000030 6e 36 34 00 00 00 00 00 00 00 00 00 00 00 00 00 |n64.............| 00000040 00 00 00 00 00 00 00 00 73 68 61 31 00 00 00 00 |........sha1....| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000060 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 20 |............... | 

您需要查看磁盘上的其他位置。 也许你需要备份一下? 或转发。 或者让testing磁盘做它的事情; 如果磁盘上有一个有效的LUKS标头,最终应该find它。