LUKS_HEADER_CORRUPTED
Linux / DevOps
Восстановление разделов LUKS: создание бэкапа и починка заголовка cryptsetup
- Ошибка
Device /dev/sdX is not a valid LUKS deviceпри попытке расшифровки. - Ошибка
No signature detected on deviceпри выполненииcryptsetup open. - Случайное повреждение начальных секторов диска или сбой таблицы разделов GPT.
1. Проверка структуры заголовка
cryptsetup isLuks /dev/sdb1 && echo "Valid" || echo "Corrupted"
cryptsetup luksDump /dev/sdb12. Создание резервной копии заголовка (превентивно)
cryptsetup luksHeaderBackup /dev/sdb1 --header-backup-file /root/luks_header_backup.img
chmod 400 /root/luks_header_backup.img3. Восстановление заголовка из бэкапа
cryptsetup luksHeaderRestore /dev/sdb1 --header-backup-file /path/to/luks_header_backup.img4. Автоматический ремонт вторичного заголовка (для LUKS2)
cryptsetup repair /dev/sdb15. Открытие и проверка файловой системы
cryptsetup open /dev/sdb1 crypt_data
fsck -fy /dev/mapper/crypt_data
mount /dev/mapper/crypt_data /mnt
Практический опыт инженера:
Храните дампы заголовков всех зашифрованных дисков вне самого сервера в безопасном хранилище секретов. Размер бэкапа составляет всего от 2MB (LUKS1) до 16MB (LUKS2).
Частые вопросы (FAQ)
Можно ли восстановить данные LUKS, если заголовок перезаписан нулями, а бэкапа нет?
Нет. Без мастер-ключа, зашифрованного в keyslots заголовка, расшифровать полезную нагрузку AES-XTS математически невозможно даже при знании пользовательского пароля.
В чем преимущество LUKS2 при повреждении метаданных?
LUKS2 по умолчанию хранит два идентичных заголовка (основной и резервный) и контрольные суммы JSON. При частичном сбое команда cryptsetup repair восстанавливает метаданные автоматически.