我在启动Debian服务器时遇到了问题。在系统更新之后,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).发布于 2013-04-30 00:46:02
您的内核缺乏对aes-cbc-essiv:sha256的支持。“错误分配密码tfm”是指内核的密码子系统:一些必要的加密数据结构无法初始化。您对密码算法的支持分为模块,您有一个用于AES算法的模块和一个用于SHA-256算法的模块,但是没有用于CBC模式的模块。如果没有加密设备,您将无法挂载加密设备。
如果您编译了自己的内核,请确保启用所有必要的密码算法。如果您的内核来自您的发行版,那么这可能是您需要报告的一个bug。在任何一种情况下,都必须有一个模块/lib/modules/2.6.32-5-amd64/kernel/crypto/cbc.ko。如果模块存在,那么您的问题是使用initramfs生成脚本。
除了cbc模块之外,您还需要其他内核组件来将密码绑定在一起。检查内核配置中是否设置了CRYPTO_MANAGER、CRYPTO_RNG2和CRYPTO_BLKCIPHER2。Debian的initramfs构建脚本应该照顾好这些,即使它们被编译为模块。由于密码子系统相当复杂,在initramfs脚本中可能缺少其他重要组件。如果需要进一步帮助,请阅读有关bug #541835的讨论,并在自己编译的情况下发布确切的内核版本以及内核配置。
您将需要从救援系统启动与必要的密码支持,以修复这一点。将根文件系统挂载到chroot中,挂载/boot并运行dpkg-reconfigure linux-image-…来重新生成initramfs。
https://unix.stackexchange.com/questions/74069
复制相似问题