Linuxのフルディスク暗号化インストールを行ってから、パスフレーズの打ち間違え時のユーザー体験が各段に悪くなりました。
GRUBレスキューモードはヘルプ・コマンドも効かないため、リセットするしかありません。しかし調査の結果、脱し方がわかりました。なお、BIOSシステムの話です。
まず、暗号化ボリュームのパスフレーズを再入力する方法です。
cryptomount -a
これですべての暗号化ボリュームをマウントします。フルディスク暗号化を単一暗号化ボリュームで行う場合はこれが一番簡単です。 パスフレーズを聞かれますのでここで入力します。
仮に複数の暗号化ボリュームを持っている場合は次のコマンドでパーティションとボリュームの一覧が表示されますので、自分がパスフレーズを入力したい暗号化ボリュームにあたりをつけます。
ls
そのうえで、次のように具体的なボリュームを指定してマウントします。
cryptomount (hd0,msdos1)
パスフレーズが受け付けられたら、ブートメニューを表示するモジュールをロードします。
insmod normal
最後にそのモジュールを実行すれば、通常のブートメニューが表示されます。
normal
まとめると、ブート時にパスフレーズを間違えてGRUB RESCUEモードに落ち込んだ場合、以下の3コマンドで復帰できます。
cryptomount -a
insmod normal
normal
おまけ
「GRUBレスキューモードにはヘルプも効かない」
と書きましたが、実はヘルプはあります。cryptomoutが成功したら次のように売ってください。
insmod
help
ちゃんとヘルプが表示されます。GRUBは多機能ですが、最初からすべての機能をロードするにはあまりにも大きすぎます。そこで、まずはGRUB RESCUEにあたる小さなプログラムをロードし、そこから必要に応じてモジュールをロードしているのです。ヘルプもそれらのモジュールの一つです。
モジュールはファイルシステムに格納されているため、パスフレーズを打ちそこなうと、ヘルプをはじめとするモジュールもロードできない、ということなのです。