web-dev-qa-db-ja.com

Windows / Linuxデュアルブートフルディスク暗号化

256Gb SSDに加えて、暗号化されていないWindows10/Manjaroデュアルブートと1Tb HDDを使用しています。

パーティションは次のように構成されています。

1Tb HDD :    
 |_ sda1 : exFAT partition, readable by both W$ and Linux

256 Gb SSD : 
 |_ sdb1 : EFI system boot partition
 |_ sdb2 : Microsoft reserved partition
 |_ sdb3 : NTFS Windows system partition
 |_ sdb4 : NTFS Windows recovery partition
 |_ sdb5 : ext4 / partition for Linux
 |_ sdb6 : ext4 /home partition for Linux
 |_ sdb7 : linux swap

ブートローダーはGRUBで、2つのシステムから選択できます。

私が探しているのは、両方のハードドライブを暗号化し、GRUBの前にパスワードを入力して復号化する方法です。もちろん、私は既存のパーティションを保持したいと思います。両方のシステムが1Tb HDDの内容を読み取ることができ、壊れないということですGRUB(可能な場合))

私はすでにWindowsのVeracryptとLinuxのLUKSを確認しましたが、VeracryptはGRUBを解読してWindowsのみを暗号化しているようです。LUKSはLinuxのみです。

7
mhham

異なるWindows/Linuxシステム暗号化を使用してから、共通のデータパーティションをveracryptと、おそらくfatまたはntfsで使用する必要があります(ドライバーの署名が強制されているため、Windowsのextドライバーがないことがわかっている限り、NTFSは最適ではありません。 Linuxでの選択ですが、Windowsでの利点があります)。

Veracryptでウィンドウを暗号化する場合は、ハードドライブのブートローダーセクションではなくパーティションにインストールして、GRUBからチェーンロードする必要があります。

より簡単な別のオプションは、1つのシステムをFDEし、他のシステムを(FDEの有無にかかわらず)VMに配置することです。

3
allo

暗号化ソフトウェアは、オペレーティングシステム内で動作します。オペレーティングシステムの前にディスク暗号化ソフトウェアをロードすることはできません。 LinuxとWindowsの両方で実行される同じ名前のソフトウェア(TrueCrypt/VeraCryptなど)が存在する可能性がありますが、同じコードではありません。したがって、暗号化コードをGrubの前にロードすることはできません。これは、オペレーティングシステムを選択して起動を開始した後にのみロードできます。

理論的には、パスワードを要求するブートローダーステージを用意し、このパスワードをメモリ経由で各オペレーティングシステムに渡すことができます。しかし、私が知る限り、そのようなメカニズムは存在しません。パラメータを渡すメソッドは、起動後にユーザーがパラメータを使用できるようになるため、機能しませんでした。これは、パスワードとしては不適切です。

OSから要求されたときに、Grubプロンプトの後にパスワードを入力するだけです。とにかく、ブートごとに一度だけ入力する必要があります。

ディスクを暗号化する方法は、WindowsとLinuxではまったく異なります。インストール時に行うのが最も簡単ですが、Linuxでは luksipc を使用できます( を参照してください)ユーティリティはありますかまたは、既存のライブデータをdm-cryptしてフルディスク暗号化するための手順 )。 luksipcを使用してLinuxで暗号化を設定する場合は、Sudo update-grubおよびSudo update-initramfsを実行する必要があります。そうしないと、システムが起動しません。ミスを犯しやすく、起動できないシステムになってしまうため、レスキューディスクを用意してください。