DebianシステムをBullseyeにアップデートしたばかりで、5.10.0-13-amd64カーネルを使用すると、暗号化されたルートディスクにアクセスできなくなりました。
以前のバージョンの5.4.0-0.bpo.2-amd64カーネルを使用して起動を続行できます。
報告されたエラーは、「暗号化されたtfm割り当てエラー」および「ローカル暗号化ボリュームへの依存関係に失敗しました」です。
依存関係が何であるかは言いません。暗号化モジュールが欠落していると思われますが、initrdの内容を確認する部分はあるようです。
LUKS ヘッダーは次のとおりです。
LUKS header information
Version: 2
Epoch: 4
Metadata area: 16384 [bytes]
Keyslots area: 16744448 [bytes]
UUID: 27d09a50-bc61-473e-8c45-12295f45a319
Label: (no label)
Subsystem: (no subsystem)
Flags: (no flags)
Data segments:
0: crypt
offset: 16777216 [bytes]
length: (whole device)
cipher: aes-xts-plain64
sector: 512 [bytes]
Keyslots:
0: luks2
Key: 512 bits
Priority: normal
Cipher: aes-xts-plain64
Cipher key: 512 bits
PBKDF: argon2i
Time cost: 4
Memory: 735048
Threads: 4
...
initrdの暗号化モジュール(dracutで構築され、強制的に挿入されたcbc.koを含む)は次のとおりです。
kernel/arch/x86/crypto
kernel/arch/x86/crypto/aesni-intel.ko
kernel/arch/x86/crypto/crc32c-intel.ko
kernel/arch/x86/crypto/crct10dif-pclmul.ko
kernel/arch/x86/crypto/glue_helper.ko
kernel/arch/x86/crypto/sha256-ssse3.ko
kernel/crypto
kernel/crypto/aes_generic.ko
kernel/crypto/af_alg.ko
kernel/crypto/algif_hash.ko
kernel/crypto/algif_skcipher.ko
kernel/crypto/ansi_cprng.ko
kernel/crypto/async_tx
kernel/crypto/async_tx/async_memcpy.ko
kernel/crypto/async_tx/async_pq.ko
kernel/crypto/async_tx/async_raid6_recov.ko
kernel/crypto/async_tx/async_tx.ko
kernel/crypto/async_tx/async_xor.ko
kernel/crypto/authenc.ko
kernel/crypto/cbc.ko
kernel/crypto/cmac.ko
kernel/crypto/crc32c_generic.ko
kernel/crypto/crct10dif_common.ko
kernel/crypto/crct10dif_generic.ko
kernel/crypto/cryptd.ko
kernel/crypto/crypto_simd.ko
kernel/crypto/drbg.ko
kernel/crypto/ecc.ko
kernel/crypto/ecdh_generic.ko
kernel/crypto/essiv.ko
kernel/crypto/xor.ko
kernel/crypto/xts.ko
kernel/drivers/crypto
kernel/drivers/crypto/ccp
kernel/drivers/crypto/ccp/ccp.ko
kernel/drivers/crypto/padlock-aes.ko
kernel/lib/crypto
kernel/lib/crypto/libaes.ko
x86_64-linux-gnu/libcrypto.so -> libcrypto.so.1.1
x86_64-linux-gnu/libcrypto.so.1.1
何が変わったのかよく分からない。誰でも助けてくれてありがとう。
答え1
試行錯誤を経てカーネルモジュールをArchLinuxシステムと比較したところ、initrdにecbとccmモジュールを追加するとシステムが起動可能になることがわかりました。