Initramfs Error: Cryptsetup failed: Bad password / Keyfile missing for LUKS volume
Linux / DevOps
Ошибка Initramfs: Cryptsetup failed (LUKS bad password / keyfile missing)
Служба расшифровки дисков завершается ошибкой: cryptsetup failed, bad password or options? Либо keyfile missing, dropping to initramfs shell после трех неудачных попыток ввода пароля.
| Симптом | Причина | Точка отказа |
|---|---|---|
| Cryptsetup: Bad password | Неверная раскладка клавиатуры в initramfs | Пароль вводится с спецсимволами в другой кодировке |
| Keyfile not found | Файл ключа на USB/TPM недоступен | /etc/crypttab ссылается на несмонтированный путь |
| TPM2 unseal failure | Изменение PCR регистров (обновление BIOS) | TPM 2.0 блокирует авто-расшифровку |
- В аварийной консоли откройте зашифрованный LUKS том вручную:
(initramfs) cryptsetup luksOpen /dev/nvme0n1p3 dm_root # Введите ключевую фразу разблокировки - После создания маппера смонтируйте корень и продолжите загрузку:
(initramfs) exit - После загрузки проверьте соответствие UUID в файле
/etc/crypttab:sudo nano /etc/crypttab # Формат строки: # <target_name> UUID=<LUKS_UUID> <keyfile_path_or_none> luks,discard - Если используется авто-разблокировка через systemd-cryptenroll (TPM2), перепривяжите PCR:
sudo systemd-cryptenroll --wipe-slot=tpm2 /dev/nvme0n1p3 sudo systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=0+2+7 /dev/nvme0n1p3 - Перегенерируйте initramfs:
sudo update-initramfs -u.
Критично: Всегда храните распечатанный аварийный Recovery Key (LUKS Header Backup), созданный командой:
cryptsetup luksHeaderBackup /dev/sdaX --header-backup-file luks-header.bak.
Практический опыт инженера:
Обновление прошивки материнской платы (UEFI) всегда меняет PCR 0 и PCR 2, что ломает автоматическую расшифровку через TPM2. Всегда знайте master-passphrase перед прошивкой BIOS.
Частые вопросы (FAQ)
Почему пароль не принимается, хотя введен правильно?
В initramfs по умолчанию используется стандартная американская раскладка (US). Символы национальных раскладок или спецсимволы могут интерпретироваться некорректно.
Как сбросить пароль LUKS, если он утерян?
Без знания действующего пароля, keyfile или резервного слота данных восстановить зашифрованную информацию математически невозможно.