Восстановление раздела LUKS

Диск с 2 разделами - первый раздел является простым ext4, второй шифруется 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

Хорошо до сих пор затем эта проблема открывается:

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

Совет, как продолжить двигаться. Разве это неправильно смещается? Я должен искать магическое число 0xEF53 определяющий ext4, как рекомендуется здесь https://unix.stackexchange.com/questions/103919/how-do-i-find-the-offset-of-an-ext4-filesystem?

Обратите внимание, это - диск на 1 ТБ поэтому, мне нужен совет, который не вызывает для сканирования всего диска (часы и часы) снова и снова, если это возможно, такие как испытательный стенд, который кажется, не имеют никакой опции начать при указанном смещении экономить время на сканировании.

P.S. Это было близко, но не совсем: https://unix.stackexchange.com/questions/177070/lvm-encrypted-partition-without-partition-table

2
задан 13 April 2017 в 15:37
1 ответ

Первая очевидная проблема в том, что ты ищешь не в том месте. Это не заголовок LUKS.

Заголовок раздела LUKS начинается с шести байтов, определенных как L, U, K, S, за которыми следуют 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  |............... |

Вам нужно искать в другом месте на диске. Может, вам нужно сделать резервную копию? Или вперед. Или просто дать тестдиску сделать своё дело; если где-то на диске есть действительный заголовок LUKS, то в конце концов он должен его найти.

2
ответ дан 3 December 2019 в 11:39

Теги

Похожие вопросы