ディスクをフォーマットせずに暗号化する方法はありますか?

ディスクをフォーマットせずに暗号化する方法はありますか?

OSのインストール時に暗号化がありませんでした。今すぐフォーマットせずにデータを失うことなく暗号化する方法はありますか?暗号化方法に関するいくつかのガイドを読みましたが、すべてのガイドでデータが失われる可能性があるため、すべてのデータをバックアップする必要があると述べました。さて、データを失うことなくすべてを暗号化する方法はありますか?

ベストアンサー1

はい、方法があります。 LUKScryptsetupユーティリティには次のものが含まれます。再暗号化コマンドまた、これを使用して、既存のファイルシステムを破壊することなく、既存の暗号化されていないルートパーティションを暗号化することもできます。

つまり、そのような変換を実行する前にデータをバックアップする必要があります。もちろん、ハードウェア障害などの可能性があるため、常に定期的なバックアップを実行する必要があります。したがって、これは不要なアドバイスです。

既存のルートファイルシステムを暗号化されていない状態から暗号化された状態に切り替えるには、次のようないくつかの手順が必要です。

  1. サポート
  2. cryptsetup パッケージがインストールされていることを確認してください。
  3. ルートファイルシステムに空き容量があることを確認してください(安全のために少なくとも100MiB)
  4. ルートパーティションがあるパーティションを識別します。たとえば、を使用してdf /ファイルシステムのUUIDを見つけ、blkidどこかに保存します。
  5. ルートファイルシステムをマウント解除できるリカバリシステムから起動します。ゲミール)
  6. ルートパーティションの検索(blkidUUIDの使用と検索など)
  7. ext4の場合はファイルシステムチェックを実行します。e2fsck -f /dev/sdXY
  8. LUKSヘッダー用のスペースを確保するためにファイルシステムを縮小します。たとえば、ext4ファイルシステムの場合:(resize2fs /dev/sdXY $smallersizeinGiB_G少なくとも32MiB縮小する必要があります)
  9. 暗号化してください:cryptsetup reencrypt --encrypt /dev/sdXY --reduce-device-size 32M
  10. 開いてみてください:cryptsetup open /dev/sdXY root
  11. ファイルシステムを最大サイズに拡張します。resize2fs /dev/mapper/root
  12. 次の場所にインストールしてください。/mnt/root
  13. ブートファイルシステムがマウントされ、/mnt/root擬似ファイルシステムがバインドマウントされます。/dev/sys/proc/mnt/root
  14. 次の手順でシステムにChrootをインストールします。chroot /mnt/root /bin/bash
  15. /etc/default/grubたとえば、ディストリビューションでdracutを使用している場合(おそらく)、追加する必要があるカーネルパラメータまたはそれに対応するパラメータを更新しますrd.luks.uuid=$UUID_OF_LUKS_DEVICE(参照、このUUIDはルートファイルシステムとは異なります)。 selinuxがインストールされている場合は、追加(その後削除)するblkid必要があります。enforcing=0それ)すべての編集のため
  16. ディストリビューションで selinux が有効になっている場合は、ラベルの上書きを設定します。touch /mnt/root/.autorelabel
  17. グラップ構成を再生成します。grub2-mkconfig -o /boot/.../grub...cfg
  18. initramfsを再構築します(cryptsetupサポートが含まれていることを確認するため):dracut -f /boot/initramfs....img kernelversion
  19. chroot 終了
  20. すべて削除
  21. cryptsetup close root
  22. 再起動

ご覧のとおり、これは多くのステップです。つまり、エラーが発生する可能性があります。したがって、設定ファイルと$HOME

そして、2020年現在の私の経験では比較的遅いため、単にcryptsetup reencryptデバイスを復元してバックアップを復元する方が速いかもしれません。cryptsetup luksFormat

XFSファイルシステムがある場合、2020年以降、XFSはこの機能をサポートしていないため縮小できません。したがって、fstransform縮小する前に縮小する必要があります。変換されたファイルシステムでは、別のUUIDを処理する必要があります。これは、新しいファイルシステムのUUIDを古いファイルシステムのUUIDに変更することを意味します。または更新されるファイルシステムのUUID /mnt/root/etc/fstab

dracutベースのディストリビューションの場合は作成する必要はなく、/etc/crypttab他のディストリビューションではこれを要求できます(initramfsの更新前に含める必要があるかもしれません)。

おすすめ記事