7.2. 暗号化ボリュームのマウント

インストール中に暗号化ボリュームを作成し、マウントポイントに割り当てると、そのボリュームに対して、起動中にパスフレーズを入力するように訊いてきます。実際の手順は、dm-crypt と loop-AES では若干異なります。

7.2.1. 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 回間違えると、そのボリュームをスキップして、次のファイルシステムをマウントしようとします。詳細は、「トラブルシュート」 をご覧ください。

パスフレーズをすべて入力すると、通常と同様に起動を継続します。

7.2.2. loop-AES

loop-AES で暗号化したパーティションでは、起動中に以下のようなプロンプトが表示されます。

Checking loop-encrypted file systems.
Setting up /dev/loopX (/mountpoint)
Password:

パスフレーズの入力時には、入力した文字 (やアスタリスク) は表示されません。パスフレーズを間違えた場合、訂正するために 2 回までは試行できます。入力を 3 回間違えると、そのボリュームをスキップして、次のファイルシステムをマウントしようとします。詳細は、「トラブルシュート」 をご覧ください。

パスフレーズをすべて入力すると、通常と同様に起動を継続します。

7.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) がマウントできなかった場合、それでもシステムが起動し、前述の状況のように手動でボリュームをマウントできるでしょう。しかし、デフォルトのランレベルで通常動作しているサービスを、起動していない可能性があるので、(再) 起動する必要があります。最も簡単なのはコンピュータの単純な再起動です。