Загрузка зашифрованного корневого раздела не удалась после обновления системы

Загрузка зашифрованного корневого раздела не удалась после обновления системы

У меня проблема с загрузкой моего сервера Debian Linux. После обновления системы GRUB загружает initrd, и система должна запросить пароль, но этого не происходит. Вместо этого я попадаю в BusyBox. После попытки вручную смонтировать зашифрованный том с помощью cryptsetup luksOpen, я получаю эту ошибку:

device-mapper: table: 254:0: crypt: Error allocating crypto tfm
device-mapper: reload ioctl failed: Invalid argument
Failed to setup dm-crypt key mapping for device /dev/sda3
Check that the kernel supports aes-cbc-essiv:sha256 cipher (check syslog for more info).

Изображений

решение1

В вашем ядре отсутствует поддержка aes-cbc-essiv:sha256. «Ошибка выделения криптографического tfm» относится к криптографической подсистеме ядра: не удалось инициализировать некоторую необходимую криптографическую структуру данных. Ваша поддержка криптографических алгоритмов осуществляется в модулях, и у вас есть модуль для алгоритма AES и модуль для алгоритма SHA-256, но нет модуля для режима CBC. Без него вы не сможете смонтировать зашифрованное устройство.

Если вы скомпилировали свое собственное ядро, убедитесь, что включены все необходимые криптографические алгоритмы. Если ваше ядро ​​взято из вашего дистрибутива, это может быть ошибкой, о которой вам нужно сообщить. В любом случае должен быть модуль /lib/modules/2.6.32-5-amd64/kernel/crypto/cbc.ko. Если модуль существует, то ваша проблема связана со скриптом генерации initramfs.

В дополнение к cbcмодулю вам нужны другие компоненты ядра, чтобы связать криптографию вместе. Проверьте CRYPTO_MANAGER, что CRYPTO_RNG2и CRYPTO_BLKCIPHER2установлены в конфигурации ядра. Скрипт сборки Debian initramfsследует позаботиться об этомдаже если они скомпилированы как модули. Поскольку криптографическая подсистема довольно сложна, в скрипте initramfs могут отсутствовать другие важные компоненты. Если вам нужна дополнительная помощь, прочитайте обсуждениеошибка №541835и опубликуйте точную версию вашего ядра, а также конфигурацию ядра, если вы скомпилировали его самостоятельно.

Вам нужно будет загрузиться с аварийной системы с необходимой поддержкой криптографии, чтобы исправить это. Смонтируйте chrootв нее корневую файловую систему, смонтируйте /bootи запустите dpkg-reconfigure linux-image-…для повторной генерации initramfs.

Связанный контент