web-dev-qa-db-ja.com

Archを暗号化からSD暗号化に移行する

最近、Antergos(基本的にはArch)をインストールし、フルディスク暗号化を使用するように設定しました。ここで、encryptからsd-encryptに移行したいと思います。休止状態にしたいため、同じLUKSボリュームにスワップパーティションを配置できなかったためです。

バックグラウンド

セットアップ中:

  • LUKSを/パーティションとスワップパーティションに使用しました。
  • メインSSDが小さいため、休止状態にしたいと思っていて、32 GBのRAM 2番目のドライブに暗号化されたスワップパーティションを作成しました。
  • /etc/crypttabを使用して、スワップパーティション(および2番目のドライブの別の暗号化されたEXT4パーティション)をマウントしました。

私はそのインストールが動作することをテストしました、grubはlinuxとデュアルブートされたWindowsの両方を起動させ、Linuxブートでは両方の暗号化されたドライブを復号化してマウントします。

しかし、スワップドライブのUUIDでディスクが見つからないというエラーが発生し、Archのマニュアルでは、インストーラーから取得したencryptがブート時に1つの暗号化パーティションしか処理できないことを確認しました。それらをさらに処理したい場合は、sd-encryptに移動する必要があります。ただし、ドキュメントを読んだ後でも、sd-encryptに移行するために何をしなければならないかわかりません。

詳細

  • HOOKS="base udev autodetect modconf block keyboard keymap encrypt resume filesystems fsck"
  • GRUB_CMDLINE_LINUX_DEFAULT="quiet resume=UUID=[encrypted swap UUID]"
  • GRUB_CMDLINE_LINUX=cryptdevice=/dev/disk/by-uuid/[/ UUID]:Arch_crypt
  • GRUB_ENABLE_CRYPTODISK=y
  • /etc/crypttab

      swap_crypt /dev/disk/by-uuid/[/ UUID] password_file luks
      data_crypt /dev/disk/by-uuid/[/ UUID] password_file luks
    

encryptHOOKSsd-encryptに変更した後、他に何をすべきですか? /etc/crypttab.initramfsを作成し、そこにswap_cryptを移動する必要がありますか? luksrd.luksに変更する必要がありますか?スワップパーティションと/パーティションの両方で同じパスワードを使用しているため、ドキュメントによると、パスワードを1回入力した後、両方をブート時にマウントする必要があります。ドキュメントにluks.*およびrd.luks.* paramsと同様のものが記載されています-それらを使用する必要がありますか。使用する場合、どこに配置する必要がありますか?

2

私は自分でGrubを使用していませんが(Archとsd-encrypt)、カーネルオプションから、構成を次のように変換する必要があると思います(切り替える前に、古い構成をバックアップすることを忘れないでください)。

HOOKS="base systemd autodetect modconf block keyboard sd-vconsole sd-encrypt resume filesystems fsck"

GRUB_CMDLINE_LINUX_DEFAULT="quiet resume=UUID=[decrypted swap UUID]" 
# I use resume=/dev/mapper/name-of-decrypted-device

GRUB_CMDLINE_LINUX=luks.uuid=[/ encrypted UUID] luks.uuid=[swap encrypted UUID]
GRUB_ENABLE_CRYPTODISK=y

/etc/crypttab

  swap_crypt /dev/disk/by-uuid/[/ UUID] password_file luks
  data_crypt /dev/disk/by-uuid/[/ UUID] password_file luks

HOOKSの変更が完了したら、mkinitcpio -p linuxまたは同等のものを実行してinitramfsを再生成することを忘れないでください。そして、grub-mkconfig -o /boot/grub/grub.cfgまたは同様の何かを含むgrub.cfgファイル。

1