我有一个有两个分区的驱动器
分区表已被覆盖。我找到了第二个分区的开始,我需要恢复它:
# 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到目前为止,这个问题突然出现:
# cryptsetup luksOpen /dev/loop0 luksrecover
Device /dev/loop0 is not a valid LUKS device.偏移量错了吗?我是否应该寻找0xEF53识别ext4 正如这里所建议的的神奇数字?
这是一个1TB驱动器,所以请,我需要一个建议,不要强迫扫描整个驱动器再次(例如,testdisk似乎没有选择开始在一个指定的偏移量,以节省扫描时间)。
P.S. 这个问题似乎有密切的关系,但不一致。.
发布于 2015-01-07 02:51:19
dd if=/dev/mapper/storage2-crypto bs=16 count=1 2>/dev/null |
od -t c -t x1
0000000 L U K S 272 276 \0 001 a e s \0 \0 \0 \0 \0
4c 55 4b 53 ba be 00 01 61 65 73 00 00 00 00 00在我的系统里是这样的。见https://gitlab.com/cryptsetup/cryptsetup/wikis/LUKS-standard/on-disk-format.pdf (第6页)
前六个字节必须相同,很可能是前八个字节,也可能是第一个16+。您已经在LUKS中找到了一个字符串,但是显然错误的字符串,因为LUKS@I不是神奇的字节。
寻找正确的数据;这应该会给你正确的位置。
https://unix.stackexchange.com/questions/177831
复制相似问题