web-dev-qa-db-ja.com

16.04へのアップグレードの中断後のCryptsetupの失敗

14.04から16.04へのアップグレード中にコンピューターが中断されました。その後、再起動して実行しました

Sudo dpkg --configure -a

そして再起動しました。これで、起動時にパスワードの入力を求められたときに、何も入力できません。 Caps LockとNum Lockを確認し、慎重に入力しましたが、異なるキーボードをいじったことはありません。確かに、GRUBに移動してそこに入力すると、入力したものはすべて期待どおりに見えます。

復旧モードから実行しようとすると、次の交換が行われます。

Please unlock disk sda5_crypt:

(パスワードを入力します)

Failed to setup dm-crypt key mapping for device /dev/disk/by-uuid/[some numbers]

Check that kernel supports aes-xts-plain64 cipher (check syslog for more info).

cryptsetup: cryptsetup failed, bad password or options?

通常のコマンドラインにアクセスできずにカーネルのこの(明らかな)問題を解決する方法は明確ではありません。

3

提起された問題に対する完全な解決策ではありませんが、sda5_cryptが機能した古いカーネルからブートすることになりました。

1

Ubuntu 14.04LTSからcryptsetup --helpを実行すると、通常のオプションの最後に次のように表示されます。

デフォルトの組み込みキーおよびパスフレーズパラメータ:
最大キーファイルサイズ:8192kB、最大インタラクティブパスフレーズ長512(文字)
 LUKSのデフォルトPBKDF2反復時間:1000(ms)
 
デフォルトのコンパイル済みデバイス暗号化パラメータ:
 loop-AES:aes、キー256ビット
 plain:aes-cbc-essiv:sha256、キー:256ビット、パスワードハッシュ:ripemd160 
 LUKS1:aes-xts-plain64、キー:256ビット、LUKSヘッダーハッシュ:sha1、RNG:/dev/urandom

lsmod | grep aesを使用して、カーネルにaesモジュールがロードされているかどうかを確認できます。

http://crunchbang.org/forums/viewtopic.php?id=37276 は、言及したエラーが表示されたときに必要なモジュールに関する有用な情報を持っていました。

私のカーネルでは、モジュールkernel/Arch/x86/crypto/aes-x86_64.koが提供しているようです。カーネルの標準部分のように見えるので、デフォルトではロードされていないだけだと推測しています。私のマシンの/ proc/modulesの依存関係ツリーはaes_x86_64 => aesni_intelを示し、aesni_intelには依存関係がないように見えるため、ロードするのは簡単です。

役立つことを願っています

0
sibaz