パスフレーズを間違えてGRUB RESCUEモードに落ち込んだ場合の脱し方

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にあたる小さなプログラムをロードし、そこから必要に応じてモジュールをロードしているのです。ヘルプもそれらのモジュールの一つです。

モジュールはファイルシステムに格納されているため、パスフレーズを打ちそこなうと、ヘルプをはじめとするモジュールもロードできない、ということなのです。

/* -----codeの行番号----- */