
我在 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,允許我在兩個系統之間進行選擇。
我正在尋找一種方法來加密兩個硬碟,並在 GRUB 之前輸入密碼來解密它們。當然,我想保留現有分割區,兩個系統都可以讀取 1Tb HDD 的內容,並且不會破壞 GRUB(如果可能)
我已經檢查過適用於 Windows 的 Veracrypt 和適用於 Linux 的 LUKS,但 Veracrypt 似乎會破壞 GRUB 並僅加密 Windows,而 LUKS 僅適用於 Linux。
答案1
您將需要使用不同的Windows/Linux 系統加密,然後使用具有veracrypt 的通用資料分區,可能還有fat 或ntfs(據我所知,由於強制驅動程式簽名,Windows 不再有ext 驅動程式。NTFS 不是最好的) Linux 的選擇,但在 Windows 中可能有優勢)。
如果您想使用 veracrypt 加密 Windows,您需要將其安裝在分割區而不是硬碟機引導程式部分,並從 grub 進行鍊式載入。
另一個可能更容易的選擇是對一個系統進行 FDE,然後將另一個系統(有或沒有 FDE)放入虛擬機器中。
答案2
加密軟體在作業系統內部運作。您不能在作業系統之前載入磁碟加密軟體。可能存在在 Linux 和 Windows 上運行的同名軟體(例如 TrueCrypt/VeraCrypt),但它不是相同的程式碼。所以加密代碼不能在Grub之前載入。只有在您選擇作業系統並開始啟動後才能載入它。
理論上,可以有一個引導程式階段提示輸入密碼,然後透過記憶體將該密碼傳遞給每個作業系統。但據我所知,這樣的機制並不存在;它無法工作,因為傳遞參數的方法將使該參數在啟動後可供使用者使用,這對於密碼來說是不利的。
只要在作業系統出現 Grub 提示後詢問您時輸入密碼即可。無論如何,每次啟動時您只需輸入一次。
如何加密磁碟在 Windows 和 Linux 中的運作方式完全不同。如果您在安裝時執行此操作,則最簡單,但是在 Linux 上您可以使用路克西普克(看是否有任何實用程式或程式可用於對我現有的即時資料進行 dm-crypt 以進行全磁碟加密)。如果您使用 luksipc,然後在 Linux 上設定加密,您需要運行sudo update-grub
和sudo update-initramfs
,否則您的系統將無法啟動。手邊準備一張救援磁碟,因為很容易犯錯並導致系統無法啟動。