Fedora 31 内核 5.5.10 和 5.5.11 在内核更新后尝试解密 luks 根文件系统时失败,但内核 5.5.8 可以工作

Fedora 31 内核 5.5.10 和 5.5.11 在内核更新后尝试解密 luks 根文件系统时失败,但内核 5.5.8 可以工作

更新到内核 5.5.10-200.fc31 后,Fedora 31 无法在启动时解密根文件系统。输入解密密码后,文件系统无法解密。内核 5.5.11 也会发生同样的情况。但是,如果我使用内核 5.5.8 启动,则没有问题。这些是我在 5.5.11 运行“journalctl”时收到的错误消息:

localhost.localdomain systemd-cryptsetup[436]: device-mapper: reload ioctl on   failed: Invalid argument
localhost.localdomain kernel: device-mapper: table: 253:0: crypt: unknown target type
localhost.localdomain kernel: device-mapper: ioctl: error adding target to table
localhost.localdomain systemd-cryptsetup[436]: Failed to activate with specified passphrase: Invalid argument
localhost.localdomain systemd[1]: systemd-cryptsetup@luks\.... .service: Main process exited, code=exited, status=1/FAILURE
localhost.localdomain systemd[1]: systemd-cryptsetup@luks\.... .service: Failed with result 'exit-code'.
localhost.localdomain systemd[1]: Failed to start cryptography setup for luks-....
localhost.localdomain systemd[1]: Dependency failed for Local Encrypted Volumes.
localhost.localdomain systemd[1]: Job cryptsetup.target/start failed with result 'dependency'

当我手动输入时,我遗漏了 luks id。任何帮助表示赞赏!

答案1

你应该前往https://bugzilla.redhat.com并将其报告为错误。我们这里不太可能提供帮助。

唯一的建议(目前)是删除最旧的有问题的内核,因此您只保留最后一个和一个(或两个)工作内核,这样更新就不会删除工作内核。

答案2

对于遇到这个问题的其他人 - 我能够通过以下方式解决它:

  1. 引导至工作内核,并删除从独立 rpm 文件安装的所有软件。

  2. (虽然仍然从旧的工作内核启动)使用 dracut 为最​​新内核重新生成 initramfs,在我的例子中,这是针对 5.5.11 的:

    sudo dracut /boot/initramfs-5.5.11-200.fc31.x86_64.img 5.5.11-200.fc31.x86_64

相关内容