Das Booten einer verschlüsselten Root-Partition schlägt nach einem Systemupdate fehl

Das Booten einer verschlüsselten Root-Partition schlägt nach einem Systemupdate fehl

Ich habe ein Problem beim Booten meines Debian-Linux-Servers. Nach einem Systemupdate lädt GRUB das initrd und das System sollte nach dem Passwort fragen, tut es aber nicht. Stattdessen lande ich bei BusyBox. Nachdem ich versucht habe, das verschlüsselte Volume manuell mit zu mounten cryptsetup luksOpen, erhalte ich diesen Fehler:

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

Bilder

Antwort1

Ihr Kernel unterstützt nicht aes-cbc-essiv:sha256. „Fehler beim Zuweisen von crypto tfm“ bezieht sich auf das kryptografische Subsystem des Kernels: Einige notwendige kryptografische Datenstrukturen konnten nicht initialisiert werden. Ihre Unterstützung für kryptografische Algorithmen erfolgt in Modulen, und Sie haben ein Modul für den AES-Algorithmus und ein Modul für den SHA-256-Algorithmus, aber kein Modul für den CBC-Modus. Ohne dieses Modul können Sie Ihr verschlüsseltes Gerät nicht mounten.

Wenn Sie Ihren eigenen Kernel kompiliert haben, stellen Sie sicher, dass alle erforderlichen Kryptoalgorithmen aktiviert sind. Wenn Ihr Kernel aus Ihrer Distribution stammt, handelt es sich möglicherweise um einen Fehler, den Sie melden müssen. In beiden Fällen muss ein Modul vorhanden sein /lib/modules/2.6.32-5-amd64/kernel/crypto/cbc.ko. Wenn das Modul vorhanden ist, liegt Ihr Problem eher am initramfs-Generierungsskript.

Zusätzlich zum cbcModul benötigen Sie weitere Kernelkomponenten, um die Verschlüsselung zusammenzuführen. Überprüfen Sie CRYPTO_MANAGER, ob CRYPTO_RNG2und CRYPTO_BLKCIPHER2in Ihrer Kernelkonfiguration festgelegt sind. Debians Skript zum Erstellen von initramfssollte sich um diese kümmernselbst wenn sie als Module kompiliert sind. Da das Krypto-Subsystem ziemlich komplex ist, fehlen möglicherweise andere wichtige Komponenten im initramfs-Skript. Wenn Sie weitere Hilfe benötigen, lesen Sie die Diskussion zuFehler #541835, und veröffentlichen Sie Ihre genaue Kernel-Version sowie Ihre Kernel-Konfiguration, wenn Sie diese selbst kompiliert haben.

Um dies zu beheben, müssen Sie von einem Rettungssystem mit der erforderlichen Krypto-Unterstützung booten. Hängen Sie Ihr Root-Dateisystem ein, chrootmounten Sie darin /bootund führen Sie aus dpkg-reconfigure linux-image-…, um das initramfs neu zu generieren.

verwandte Informationen