可以將 16.04 LTS 筆記型電腦遷移到全磁碟 (luks) 加密嗎?

可以將 16.04 LTS 筆記型電腦遷移到全磁碟 (luks) 加密嗎?

所以我有一台筆記型電腦,我想看看遷移到全盤加密有多難。我之前已經從全新安裝完成過一次,甚至寫了一份 HOWTO,不幸的是我無法再訪問它(企業維基)。我的期望是,從全新安裝中執行此操作可能非常自動化,因此遷移可能會困難得多。我一直在尋找指南,但它們似乎都標有“重複”、“需要更新”、“刪除候選”等的某種變體,因此現在很難判斷哪個是最合適的指南。

答案1

我已經做過一兩次這樣的遷移,但你必須能夠使用谷歌來解決出現的問題。這不是完整的答案,只是您需要做的粗略步驟。這些步驟必須從 Live CD 完成,並涉及 LUKS 和 LVM 的操作,因此您不妨取得包含最新版本的 KDE Partition Manager 3.0 的 Live CD,並將其用於 LUKS 和 LVM 操作。

如果你有足夠的可用空間(超過 50%),你可以

  • 調整目前分割區的大小。
  • 建立一個使用 LUKS 加密的新 LVM2 實體磁碟區 (PV)。
  • 建立包含 LVM PV 的新磁碟區組。
  • 為您的 rootfs 建立新的 LVM 邏輯磁碟區(可能還有交換分割區和您可能擁有的所有其他分割區...)。我自己使用 btrfs 和子卷,所以我只有 btrfs 和 swap。
  • 將您的資料移至加密分割區
  • 刪除未加密的分割區
  • 停用 LVM 並停用您的 LUKS 容器
  • 將 LUKS 容器移至磁碟的開頭(透過刪除未加密的資料釋放空間)
  • 再次打開 LUKS 容器。
  • 增大 LUKS 容器,使其填滿整個磁碟。
  • 成長包含根檔案系統的 LVM LV。

然後,您必須更新 /etc/fstab 中的條目,建立 /etc/crypttab,chroot 到加密的 rootfs 中,更新 initramfs 和 grub 設定。

這仍然使 /boot 未加密。您也可以加密 /boot,但這會增加一些額外的步驟,因此首先確保上述所有內容都有效。為了加密啟動,您必須將 /boot 分割區資訊的內容移至 rootfs/boot/ 中。然後在 /etc/default/grub 中,您需要新增GRUB_ENABLE_CRYPTODISK=y和刪除舊的未加密的 /boot。然後,您必須再次更新 /etc/fstab 中的條目,建立 /etc/crypttab,chroot 到加密的 rootfs 中,更新 initramfs 和 grub 設定。在這些步驟之後,grub 將在啟動前詢問密碼,但它不會在啟動時將其傳遞給 initramfs,因此 cryptsetup 將再次詢問。因此,您需要將 luks 金鑰檔案新增至 luks 容器中,並將其放入 initramfs 中。例如我的 /etc/crypttab 檔案包含

luks-MYUUID UUID=MYUUID /boot/crypto_keyfile.bin luks

相關內容