Можно ли исправить поврежденный заголовок LUKS?

Я просто случайно переписал метаданные LUKS моего тома новым заголовком LVM. У меня есть копия оригинального заголовка LUKS, но я не могу ее найти. На всякий случай я сделал дд-образ первых 10 МБ теперь испорченного тома на флэш-накопителе.

Мой вопрос: возможно ли восстановить заголовок LUKS? В частности, если я запущу 'cryptsetup luksFormat' с той же парольной фразой, длиной ключа и т. Д., Увижу ли я старые данные? Есть ли какое-либо засоление, и можно ли указать соль?

Я полагаю, что если sizeof(заголовок lvm2)

Я полностью укусил это, или есть какой-то небольшой шанс...?

2 ответа

У LUKS2 есть резервный заголовок, но у LUKS1 (который вы, вероятно, используете, поскольку LUKS2 является довольно новым и пока еще немногие дистрибутивы поддерживают его) нет.

Если вы не сделали резервную копию заголовка самостоятельно, вы облажались. Перейти к своим резервным копиям.

Если вы сделали резервную копию заголовка, восстановите первые 2 МБ блочного устройства, так как это длина заголовка LUKS1, и у вас может быть такая возможность.

dd bs=2M count=1 if=/home/zonko/backup_luks_header.bin of=/dev/block_device

Как отметил Свен в комментарии, вы также можете использовать cryptsetup luksHeaderRestore, который эффективно делает то же самое.

Для будущих охваченных паникой людей, которых натолкнула сюда поисковая система: вы не первый и не последний человек, забивший гол в свои ворота. Будьте добры к себе.

Кроме того, если что-то подобное произойдет с вами и у вас нет резервной копии или резервной копии заголовка, сначала убедитесь, что вы действительно перезаписали заголовок LUKS, а не просто думаете, что у вас есть.

В частности, если вы используете зашифрованный раздел, заголовок LUKS (как вы могли догадаться) расположен в начале раздела, а не в начале устройства. Итак, если вы только что перезаписали начало своего блочного устройства и удалили таблицу разделов (возможно, из-за ошибки dd? спросите меня, откуда я знаю...), ваш раздел может не отображаться, но он все еще там, пока вы не записали в раздел (первый раздел обычно имеет размер 1 МБ =1024 КБ). В этом случае достаточно воссоздать таблицу разделов.

Как всегда, когда случается беда, сначала создайте образ своего диска и поэкспериментируйте с ним, чтобы в конечном итоге не усугубить плохую ситуацию.

Чтобы проверить, существует ли заголовок, откройте блочное устройство в шестнадцатеричном редакторе и найдите первичный и/или вторичный заголовки LUKS.

      #define MAGIC_1ST "LUKS\xba\xbe"
#define MAGIC_2ND "SKUL\xba\xbe"

Если что-то есть, вам просто очень повезло.

Чтобы восстановить таблицу разделов, некоторые люди предлагаютtestdisk, но в моем случаеcfdiskэтого было достаточно, чтобы воссоздать таблицу разделов и устранить повреждения. К счастью, я перезаписал только первые 30 КБ диска, а LUKS был установлен на первый (и единственный) раздел. Что также позволило легко воссоздать таблицу разделов.

Кроме того, если вы читаете это, сделайте резервную копию заголовка LUKS с помощью

      sudo cryptsetup luksHeaderBackup   --header-backup-file BACKUP_FILENAME  DEVICE
Другие вопросы по тегам