取自:https://github.com/Drive-Trust-Alliance/sedutil/wiki/Encrypting-your-drive
啟用休眠
開啟終端機。
輸入下列內容,確認系統是否可休眠:
# sudo systemctl hibernate
如果運作正常,您可以使用命令依需求休眠,或建立檔案以將休眠選項新增至功能表系統:
建立 /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
。在檔案中新增以下內容,然後儲存:
[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes
如果休眠無法運作:
檢查您的交換分割區是否至少與可用的 RAM 一樣大。
已證實具有 btrfs 磁碟分割會使休眠失敗,因此請檢查您是否有使用任何 btrfs 分割區。除了移除或重新格式化此類磁碟分割,您可能需要移除 btrfs 工具套件:
# sudo apt purge btrfs-tools
啟用 allow_tpm,讓 sedutil 可以運作
您必須啟用 TPM:
libata.allow_tpm=1
...必須新增至您的 Grub 參數。
在 /etc/default/grub
中,表示應該會有一行內容如下:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash libata.allow_tpm=1"
接著更新 grub 並重新開機。
# sudo update-grub
加密您的磁碟機
取自:https://github.com/Drive-Trust-Alliance/sedutil/wiki/Encrypting-your-drive
準備可開機救援系統
下載 BIOS 或 64 位元 UEFI 機器的救援系統。
* UEFI 支援需要關閉安全開機。
解壓縮救援系統:(Windows 使用者必須使用 7-zip )
gunzip RESCUE32.img.gz
--或--gunzip RESCUE64.img.gz
將救援映像傳輸至 USB 隨身碟。
Linux:dd if=RESCUE32.img of=/dev/sd?
(/dev/sd?
是 USB 隨身碟的基礎裝置節點,不是編號)
--或--dd if=RESCUE64.img of=/dev/sd?
Windows:使用 sourceforge 的 Win32DiskImager 將映像寫入 USB 隨身碟。
使用具有救援系統的 USB 隨身碟開機。您會看到登入提示,輸入 root,沒有密碼,因此您會收到 root shell 提示。
下列所有步驟均應在救援系統上執行。
測試 sedutil
輸入命令:sedutil-cli --scan
預期輸出:#sedutil-cli --scan
Scanning for Opal compliant disks
/dev/nvme0 2 Samsung SSD 960 EVO 250GB 2B7QCXE7
/dev/sda 2 Crucial_CT250MX200SSD1 MU04
/dev/sdb 12 Samsung SSD 850 EVO 500GB EMT01B6Q
/dev/sdc 2 ST500LT025-1DH142 0001SDM7
/dev/sdd 12 Samsung SSD 850 EVO 250GB EMT01B6Q
No more disks present ending scan.
確認您的磁碟機在第二行有一個「2」,代表 OPAL 2 支援。如果其沒有繼續,即有一些情況使 sedutil 無法支援您的磁碟機。如果繼續,您可能會清除所有資料。
測試 PBA
輸入命令 linuxpba
,並使用偵錯的密碼片語。如果您沒有使用偵錯的密碼片語,系統就會重新開機。
預期輸出:#linuxpba
DTA LINUX Pre Boot Authorization
Enter pass-phrase to unlock OPAL drives: *****
Scanning....
Drive /dev/nvme0 Samsung SSD 960 EVO 250GB is OPAL NOT LOCKED
Drive /dev/sda Crucial_CT250MX200SSD1 is OPAL NOT LOCKED
Drive /dev/sdb Samsung SSD 850 EVO 500GB is OPAL NOT LOCKED
Drive /dev/sdc ST500LT025-1DH142 is OPAL NOT LOCKED
Drive /dev/sdd Samsung SSD 850 EVO 250GB is OPAL NOT LOCKED
確認您的磁碟機已列在清單中,且 PBA 報告為「is OPAL」。
在後續步驟中發出命令將啟用 OPAL 鎖定。如果發生問題,您必須依照此頁面底部的步驟 (復原資訊 ) 停用或移除 OPAL 鎖定。
下列步驟使用 /dev/sdc 作為裝置,並使用 UEFI64-1.15.img.gz
為 PBA 映像,請為您的磁碟機替換適當的 /dev/sd?
,並為系統替換適當的 PBA 名稱。
啟用鎖定和 PBA
輸入以下命令:(請在此測試使用偵錯密碼,之後會變更)
sedutil-cli --initialsetup debug /dev/sdc
sedutil-cli --enablelockingrange 0 debug /dev/sdc
sedutil-cli --setlockingrange 0 lk debug /dev/sdc
sedutil-cli --setmbrdone off debug /dev/sdc
gunzip /usr/sedutil/UEFI64-n.nn.img.gz 以版本編號取代
n.nn
。sedutil-cli --loadpbaimage debug /usr/sedutil/UEFI64-n.nn.img /dev/sdc 以版本編號取代
n.nn
。
預期輸出:
#sedutil-cli --initialsetup debug /dev/sdc
- 14:06:39.709 INFO: takeOwnership complete
- 14:06:41.703 INFO: Locking SP Activate Complete
- 14:06:42.317 INFO: LockingRange0 disabled
- 14:06:42.694 INFO: LockingRange0 set to RW
- 14:06:43.171 INFO: MBRDone set on
- 14:06:43.515 INFO: MBRDone set on
- 14:06:43.904 INFO: MBREnable set on
- 14:06:43.904 INFO: Initial setup of TPer complete on /dev/sdc
#sedutil-cli --enablelockingrange 0 debug /dev/sdc
- 14:07:24.914 INFO: LockingRange0 enabled ReadLocking,WriteLocking
#sedutil-cli --setlockingrange 0 lk debug /dev/sdc
- 14:07:46.728 INFO: LockingRange0 set to LK
#sedutil-cli --setmbrdone off debug /dev/sdc
- 14:08:21.999 INFO: MBRDone set off
#gunzip /usr/sedutil/UEFI64-1.15.img.gz
#sedutil-cli --loadpbaimage debug /usr/sedutil/UEFI64-1.15.img /dev/sdc
- 14:10:55.328 INFO: Writing PBA to /dev/sdc
33554432 of 33554432 100% blk=1500
- 14:14:04.499 INFO: PBA image /usr/sedutil/UEFI64.img written to /dev/sdc
#
再次測試 PBA
輸入 linuxpba 命令,並使用偵錯的密碼片語。
第二次的測試會驗證您的磁碟機是否已確實解除鎖定。
預期輸出:
#linuxpba
DTA LINUX 開機前授權
輸入密碼片語以解鎖 OPAL 磁碟機: *****
Scanning....
Drive /dev/nvme0 Samsung SSD 960 EVO 250GB is OPAL NOT LOCKED
Drive /dev/sda Crucial_CT250MX200SSD1 is OPAL NOT LOCKED
Drive /dev/sdb Samsung SSD 850 EVO 500GB is OPAL NOT LOCKED
Drive /dev/sdc ST500LT025-1DH142 is OPAL Unlocked IMPORTANT!!
Drive /dev/sdd Samsung SSD 850 EVO 250GB is OPAL NOT LOCKED
確認 PBA 已解除鎖定您的磁碟機,應會顯示「is OPAL Unlocked」,如果未解除鎖定,則您必須依照此頁面底部的步驟移除 OPAL 或停用鎖定。
設定真實密碼
SID 和 Admin1 密碼不必相符,但這可讓操作更輕鬆。
sedutil-cli --setsidpassword debug yourrealpassword /dev/sdc
sedutil-cli --setadmin1pwd debug yourrealpassword /dev/sdc
預期輸出:
#sedutil-cli --setsidpassword debug yourrealpassword /dev/sdc
#sedutil-cli --setadmin1pwd debug yourrealpassword /dev/sdc
- 14:20:53.352 INFO: Admin1 password changed
測試密碼,確認您輸入正確的密碼。
sedutil-cli --setmbrdone on yourrealpassword /dev/sdc
預期輸出:
#sedutil-cli --setmbrdone on yourrealpassword /dev/sdc
- 14:22:21.590 INFO: MBRDone set on
您的磁碟機現在使用 OPAL 鎖定功能。
您現在必須完全關閉系統。
這會鎖定磁碟機,當您重新開機系統時,它會啟動 PBA。
復原資訊:
如果啟用鎖定後發生問題,您可以停用鎖定或移除 OPAL,以繼續使用磁碟機而不鎖定。
如果您要停用鎖定和 PBA:
sedutil-cli -–disableLockingRange 0
sedutil-cli –-setMBREnable off
預期輸出:
#sedutil-cli --disablelockingrange 0 debug /dev/sdc
- 14:07:24.914 INFO: LockingRange0 disabled
#sedutil-cli --setmbrenable off debug /dev/sdc
- 14:08:21.999 INFO: MBREnable set off
您可以使用此命令順序,重新啟用鎖定和 PBA。
sedutil-cli -–enableLockingRange 0
sedutil-cli –-setMBREnable on
預期輸出:
#sedutil-cli --enablelockingrange 0 debug /dev/sdc
- 14:07:24.914 INFO: LockingRange0 enabled ReadLocking,WriteLocking
#sedutil-cli --setmbrenable on debug /dev/sdc
- 14:08:21.999 INFO: MBREnable set on
有些 OPAL 磁碟機有韌體錯誤,如果您發出以下命令,則會清除所有資料。如需經過測試的磁碟機/韌體配對清單,請參閱移除 Opal 。
若要移除 OPAL,請發出以下命令:
sedutil-cli --revertnoerase
sedutil-cli --reverttper
預期輸出:
#sedutil-cli --revertnoerase debug /dev/sdc
- 14:22:47.060 INFO: Revert LockingSP complete
#sedutil-cli --reverttper debug /dev/sdc
- 14:23:13.968 INFO: revertTper completed successfully
#