首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >系统更新后启动加密根解析失败

系统更新后启动加密根解析失败
EN

Unix & Linux用户
提问于 2013-04-29 16:09:59
回答 1查看 7.7K关注 0票数 5

我在启动Debian服务器时遇到了问题。在系统更新之后,GRUB加载initrd,系统应该请求密码,但它没有,相反,我被丢弃到BusyBox。在尝试用cryptsetup luksOpen手动挂载加密卷后,我得到以下错误:

代码语言:javascript
复制
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).

图片

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 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_MANAGERCRYPTO_RNG2CRYPTO_BLKCIPHER2。Debian的initramfs构建脚本应该照顾好这些,即使它们被编译为模块。由于密码子系统相当复杂,在initramfs脚本中可能缺少其他重要组件。如果需要进一步帮助,请阅读有关bug #541835的讨论,并在自己编译的情况下发布确切的内核版本以及内核配置。

您将需要从救援系统启动与必要的密码支持,以修复这一点。将根文件系统挂载到chroot中,挂载/boot并运行dpkg-reconfigure linux-image-…来重新生成initramfs。

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/74069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档