web-dev-qa-db-ja.com

データを保持しながらLinuxで既存のパーティションを暗号化する方法を知っている人はいますか

/ dev/hd1のような暗号化されていないパーティションがあり、暗号化したいが、現在そのパーティションにすべてを保持したい場合、どうすればよいですか?

11
greg

それを適切に行うための解決策はないようです。 TruecryptはWindowsに対してのみシステム暗号化を提供し、dm-cryptはパーティションを上書きします。あなたの最善の策は、cp -aを使用してすべてをそのパーティションからバックアップに移動し、luks/dm-cryptを使用して暗号化パーティションを作成し、すべてを元に戻すことです。

4
user54114

これはGoogleの検索結果の上部近くに表示されるため、ソリューションを追加します。

LUKS in place暗号化 http://www.johannes-bauer.com/linux/luksipc/

14
jwilkins

プレーンなdm-cryptを選択した場合、これは簡単です。それは危険です-途中で失敗した場合(停電など)、あなたは詰め込まれています!

Rawデバイスがマウントされていないことを確認してから、暗号化されたデバイスを作成し、ddを使用してrawデバイスから暗号化されたデバイスにコピーします。

$ cryptsetup open /dev/sda sda-crypt --type plain
$ dd if=/dev/sda of=/dev/mapper/sda-crypt bs=512

平文データは/dev/sdaから読み取られ、デバイスマッパー/dev/mapper/sda-cryptに書き込まれ、暗号化されて/dev/sdaに書き戻され、読み取られた平文データが上書きされます。

ディスク全体の読み取りと書き込みが行われるため、時間がかかる可能性があります。

6
starfry

実際には、プレーンファイルシステムパーティションからdm-cryptに変換できます。

しかし、それは危険で面倒です。

ここには時代遅れのチュートリアルがあります: https://help.ubuntu.com/community/EncryptedFilesystemHowto7

Dm-cryptは1つのブロックを1つのブロックにマップするため、理論的には実行可能です。 Luksは、内部でdm-cryptを使用するユーザーフレンドリーなコンテナーです。 luksパーティションには、暗号化されたファイルシステムが実際に存在するヘッダーとdm-cryptパーティションが含まれています。

警告:

  1. Luksを使用することを選択した場合、タスクはさらに難しくなるため、公式パーティションの開始に関して、dm-cryptデータがどれだけ先行しているかを正確に知る必要があります。

  2. いずれの場合でも、手順の実行中にシステムがクラッシュまたは停止すると、データが失われます

その他の参考資料:

http://www.richardneill.org/a22p-mdk11-0.php#encrypt2

http://www.saout.de/tikiwiki/tiki-index.php?page=EncryptExistingDevice

1
user39559