暗号化ボリュームのマウント
インストール中に暗号化ボリュームを作成し、マウントポイントに割り当てると、
そのボリュームに対して、起動中にパスフレーズを入力するように訊いてきます。
実際の手順は、dm-crypt と loop-AES では若干異なります。
dm-crypt
dm-crypt で暗号化したパーティションでは、
起動中に以下のようなプロンプトが表示されます。
Starting early crypto disks... part_crypt(starting)
Enter LUKS passphrase:
プロンプトの最初の行の part は、
たとえば sda2 や md0 のような、基本的なパーティション名です。
おそらく、ボリュームごとに パスフレーズを入力することに、
違和感を覚えるのではないでしょうか。
これは /home や /var それぞれで
パスフレーズを入力させられるのでしょうか? もちろんそうです。
暗号化したボリュームが一つだけなら、話は簡単で、
セットアップのときに入力したパスフレーズを入力するだけです。
インストール時に、暗号化ボリュームを少なくとも一つは設定しているなら、
の最後のステップに書き留めたメモが役に立つでしょう。
以前の part_crypt
とマウントポイントの間のマッピングを記録しない場合、
新しいシステムの /etc/crypttab と
/etc/fstab にあります。
暗号化されたルートファイルシステムがマウントされる時は、
プロンプトは少し違って見えるかもしれません。
それは、システムの起動に使用される initrd を生成するために、
どの initramfs ジェネレータが使われたかによります。
以下の例は、initramfs-tools で生成された initrd の場合です。
Begin: Mounting root file system... ...
Begin: Running /scripts/local-top ...
Enter LUKS passphrase:
パスフレーズの入力時には、入力した文字 (やアスタリスク) は表示されません。
パスフレーズを間違えた場合、訂正するために 2 回までは試行できます。
入力を 3 回間違えると、そのボリュームをスキップして、
次のファイルシステムをマウントしようとします。
詳細は、 をご覧ください。
パスフレーズをすべて入力すると、通常と同様に起動を継続します。
loop-AES
loop-AES で暗号化したパーティションでは、
起動中に以下のようなプロンプトが表示されます。
Checking loop-encrypted file systems.
Setting up /dev/loopX (/mountpoint)
Password:
パスフレーズの入力時には、入力した文字 (やアスタリスク) は表示されません。
パスフレーズを間違えた場合、訂正するために 2 回までは試行できます。
入力を 3 回間違えると、そのボリュームをスキップして、
次のファイルシステムをマウントしようとします。
詳細は、 をご覧ください。
パスフレーズをすべて入力すると、通常と同様に起動を継続します。
トラブルシュート
パスフレーズを間違えて、暗号化ボリュームをマウントできなかった場合、
ブート後に手動でマウントする必要があります。以下の状況が考えられます。
まずはじめの状況は、ルートパーティションに関することです。
正しくマウントできないとブートプロセスが停止し、
再起動してもう一度行わなければなりません。
最も簡単な状況は、/home や /srv
といったデータを保持している暗号化ボリュームの場合です。
この場合は、ブート後に手動でマウントしてあげるだけです。
loop-AES では、以下のように 1 ステップです。
# mount /mount_point
Password:
/mount_point は、
特定のディレクトリに置き換えてください。(例 /home)
通常のマウントと違うのは、
そのボリューム用にパスフレーズを入力するよう促される、ということだけです。
dm-crypt の場合は少しトリッキーです。
まず device mapper を実行して、
ボリュームを登録する必要があります。
# /etc/init.d/cryptdisks start
/etc/crypttab に記述されたボリュームすべてを検査し、
正しいパスフレーズを入力すると、
/dev ディレクトリ以下に、適切なデバイスを作成します。
(既に登録されたボリュームはスキップするので、何度実行しても警告がでません)
登録に成功すると、以下のように通常の方法でマウントできます。
# mount /mount_point
クリティカルでないシステムファイルを扱うボリューム
(/usr や /var)
がマウントできなかった場合、それでもシステムが起動し、
前述の状況のように手動でボリュームをマウントできるでしょう。
しかし、デフォルトのランレベルで通常動作しているサービスを、
起動していない可能性があるので、(再) 起動する必要があります。
最も簡単なのは、最初のランレベルに以下のように切り替えることです。
# init 1
rootのパスワードを訊かれたら Control
D を押し、
シェルのプロンプトで上記を入力してください。