A inicialização da partição raiz criptografada falha após a atualização do sistema

A inicialização da partição raiz criptografada falha após a atualização do sistema

Tenho um problema ao inicializar meu servidor Debian Linux. Após uma atualização do sistema, o GRUB carrega o initrd e o sistema deveria pedir a senha, mas isso não acontece. Em vez disso, sou levado ao BusyBox. Depois de tentar montar o volume criptografado manualmente com cryptsetup luksOpen, recebo este erro:

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).

Imagens

Responder1

Seu kernel não tem suporte para aes-cbc-essiv:sha256. “Erro ao alocar criptografia tfm” refere-se ao subsistema criptográfico do kernel: alguma estrutura de dados criptográficos necessária não pôde ser inicializada. Seu suporte para algoritmos criptográficos vem em módulos, e você tem um módulo para o algoritmo AES e um módulo para o algoritmo SHA-256, mas nenhum módulo para o modo CBC. Você não conseguirá montar seu dispositivo criptografado sem ele.

Se você compilou seu próprio kernel, certifique-se de habilitar todos os algoritmos de criptografia necessários. Se o seu kernel vier da sua distribuição, isso pode ser um bug que você precisa relatar. Em ambos os casos, deve haver um módulo /lib/modules/2.6.32-5-amd64/kernel/crypto/cbc.ko. Se o módulo existir, então o seu problema está no script de geração do initramfs.

Além do cbcmódulo, você precisa de outros componentes do kernel para unir a criptografia. Verifique isso CRYPTO_MANAGERe CRYPTO_RNG2está CRYPTO_BLKCIPHER2definido na configuração do kernel. Script de construção initramfs do Debiandeveria cuidar dissomesmo que sejam compilados como módulos. Como o subsistema criptográfico é bastante complexo, pode haver outros componentes vitais que estão faltando no script initramfs. Se precisar de mais ajuda, leia a discussão deerro #541835e poste sua versão exata do kernel, bem como a configuração do kernel, se você mesmo o compilou.

Você precisará inicializar a partir de um sistema de recuperação com o suporte criptográfico necessário para reparar isso. Monte seu sistema de arquivos raiz chrootnele, monte /boote execute dpkg-reconfigure linux-image-…para regenerar o initramfs.

informação relacionada