
У меня есть диск с 2 разделами
- 1-й — обычный ext4
- 2-й — зашифрованный 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как здесь советовали?
Это диск объемом 1 ТБ, поэтому, пожалуйста, мне нужен совет, который не приведет к повторному сканированию всего диска (например, в testdisk
котором, похоже, нет возможности начать сканирование с указанного смещения, чтобы сэкономить время на сканировании).
решение1
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
это не магические байты.
Найдите правильные данные; они дадут вам правильное положение.