選項 A:從執行個體中將金鑰新增至變數存放區
建立三個金鑰對後,您即可以連接到執行個體,並透過完成以下步驟從執行個體中將金鑰新增至變數存放區。
步驟 1:啟動將支援 UEFI 安全開機的執行個體
當您啟動執行個體 (具有下列先決條件) 時,執行個體將準備好設定為支援 UEFI 安全開機。您只能在啟動時在執行個體上啟用對 UEFI 安全開機的支援;以後無法啟用它。
先決條件
-
AMI - Linux AMI 必須支援 UEFI 開機模式。若要驗證 AMI 是否支援 UEFI 開機模式,AMI 開機模式參數必須為 uefi。如需詳細資訊,請參閱 確定 AMI 的開機模式參數。
請注意,AWS 僅針對 Graviton 型執行個體類型提供設定為支援 UEFI 的 Linux AMI。AWS 目前未提供支援 UEFI 開機模式的 x86_64 Linux AMI。您可以設定自有的 AMI,以支援所有架構的 UEFI 開機模式。若要設定支援 UEFI 開機模式的 AMI,必須在自有的 AMI 上執行多個設定步驟。如需詳細資訊,請參閱 設定 AMI 的開機模式。
-
執行個體類型 - 所有支援 UEFI 的虛擬化執行個體類型也支援 UEFI 安全開機。裸機執行個體類型不支援 UEFI 安全開機。如需有關支援 UEFI 安全開機的執行個體類型詳細資訊,請參閱考量事項。
-
在發佈 UEFI 安全開機後啟動您的執行個體。只有在 2022 年 5 月 10 日 (發佈 UEFI 安全開機時) 後啟動的執行個體才能支援 UEFI 安全開機。
啟動執行個體後,您可以透過檢查 UEFI 資料是否存在,驗證執行個體是否已準備好設定為支援 UEFI 安全開機 (換句話說,您可以繼續執行步驟 2)。UEFI 資料的存在表示非揮發性資料是持續的。
驗證執行個體是否準備好執行步驟 2
使用 get-instance-uefi-data 命令並指定執行個體 ID。
aws ec2 get-instance-uefi-data --instance-id
i-0123456789example
如果輸出中存在 UEFI 資料,則執行個體已準備好執行步驟 2。如果輸出為空白,則無法將執行個體設定為支援 UEFI 安全開機。如果您的執行個體在 UEFI 安全開機支援可用之前啟動,則會發生這種情況。啟動新的執行個體,然後再試一次。
步驟 2:設定執行個體以支援 UEFI 安全開機
在執行個體上的 UEFI 變數存放區中註冊金鑰對
警告
您必須在註冊金鑰之後簽署開機映像,否則您將無法啟動執行個體。
建立已簽署的 UEFI 簽章清單 (PK
、KEK
以及db
) 後,必須將他們註冊至 UEFI 韌體。
只有在以下情況下才能寫入 PK
變數:
-
如果
SetupMode
變數為1
,表示尚未註冊 PK。透過以下命令來檢查這一點:輸出為1
或0
。efivar -d -n 8be4df61-93ca-11d2-aa0d-00e098032b8c-SetupMode
-
新 PK 由現有 PK 的私有金鑰簽署。
在 UEFI 變數存放區中註冊金鑰
必須在執行個體上執行以下命令。
如果啟用了設定模式 (值為 1
),則可以在執行個體上執行下列命令來註冊金鑰:
[ec2-user ~]$
efi-updatevar -f db.auth db
[ec2-user ~]$
efi-updatevar -f KEK.auth KEK
[ec2-user ~]$
efi-updatevar -f PK.auth PK
驗證 UEFI 安全開機是否已啟用
若要驗證 UEFI 安全開機是否已啟用,請依照 驗證 Linux 執行個體是否已啟用 UEFI 安全開機 中的步驟執行動作。
現在,您可以使用 get-instance-uefi-data CLI 命令匯出 UEFI 變數存放區,或者繼續執行下一個步驟.簽署開機映像以重新開機到已啟用 UEFI 安全開機的執行個體。
步驟 3:從執行個體建立 AMI
若要從執行個體建立 AMI,您可以使用主控台或 CreateImage
API、CLI 或 SDK。如需主控台的說明,請參閱 建立 Amazon EBS 後端的 Linux AMI。如需 API 的說明,請參閱 CreateImage。
注意
CreateImage
API 會自動將執行個體的 UEFI 變數存放區複製到 AMI。控制台使用 CreateImage
API。使用此 AMI 啟動執行個體後,執行個體將具有相同的 UEFI 變數存放區。