私のディスクレイアウトは次のとおりです。
/
の暗号化されたパーティション/home
の暗号化されたパーティション/boot
の暗号化されていないパーティション前回、Ubuntuの完全な再インストール(ディスクの消去を含む)を行ったときに、これを設定しました。さて、最新のUbuntuにアップグレードした後、いくつかの問題が壊れたため、最初から再インストールすることにしました。ただし、/home
用の別のパーティションと/
用の別のパーティションがあり、どちらも既に暗号化されているため、最初からやり直すのではなく、これらを再利用したいと思います。特に、/home
をバックアップし、新規インストール後に再度復元するのにかかる時間を節約するために。
インストーラーを実行する前に、暗号化された2つのパーティションのロックを解除します。これにより、新規インストールの/
および/home
にこれらを選択できます。インストーラーUIからパーティションのロックを解除できないため、このインストール前のロック解除を行います。
すべてが正常にインストールされているようです。
しかし、システムを再起動すると、ロック解除プロンプトが表示されません。 5ドットブートスプラッシュはしばらくの間存在し、その後(initramfs)
プロンプトが表示されます。
起動時にロック解除プロンプトを取得するにはどうすればよいですか? /boot
パーティションのどこかにあるファイルの設定を変更できますか?インストール中に別のことをする必要がありますか?別の再インストールをしてもかまいません(時間がかからないからです!)。 /home
のバックアップ/復元を行う必要はありません(多くの時間がかかるので、ブー!)。
問題は、/etc/crypttab
が新しいシステムで適切にセットアップされていないことです。これを修正するには、ライブ環境で起動し、新しいシステムをマウントして修正します。以下はあなたがする必要があることの概要ですが、デバイス名はおそらくあなたのシステムのために変更される必要があるでしょう。
$ Sudo -i
# cryptsetup open /dev/sda5 sda5_crypt # For root partition
# cryptsetup open /dev/sda6 sda6_crypt # For home partition
# lvchange -ay # activates the logical volumes if you use llvm
# mkdir /mnt/ubuntu
# mount /dev/mapper/sda5_crypt /mnt/ubuntu
# mount /dev/mapper/sda6_crypt /mnt/ubuntu/home
# mount /dev/sda1 /mnt/ubuntu/boot
# mount --bind /dev /mnt/ubuntu/dev
# mount --bind /sys /mnt/ubuntu/sys
# mount -t proc none /mnt/ubuntu/proc
システムがマウントされたので、/mnt/ubuntu/etc/crypttab
を追加できます。次のようになります。
sda5_crypt UUID=12345678-9abc-def012345-6789abcdef01 none luks
sda6_crypt UUID=87654321-cba9-543210fed-01fedcba9876 none luks
UUIDはls -l /dev/disk/by-uuid
で見つけることができます。使用されるUUIDは、暗号化されたパーティションではなく、暗号化されたパーティションである必要があります。
また、/mnt/ubuntu/etc/fstab
を見て、sdaX_crypt
で割り当てた/mnt/ubuntu/etc/crypttab
の名前で復号化されたパーティションが参照されていることを確認してください。インストールする前にOSインストーラーでデバイスを復号化した場合、自分で割り当てたものとは別の名前で参照される場合があります(例:luks-<uuid>
)。これに失敗すると、ブート中にcryptsetup: lvm is not available
というエラーが表示される場合があります。
最後に、新しいシステムにchrootして、initramfsを更新できます。
# chroot /mnt/ubuntu /bin/bash
# update-initramfs -u
これで、新しいシステムを再起動する準備が整いました。