本文提供操作說明,說明如何更新 2025 年 11 月 7 日前建立的運算執行個體,以信任安全啟動的更新憑證。更新內容包括允許的簽章資料庫 (db) 和金鑰交換金鑰 (KEK) 變數。
如果客戶不重新建立受影響的運算執行個體,可以改用 KEK 和資料庫更新。
事前準備
更新安全啟動 KEK 和 db 憑證前,請先確認執行個體是否需要更新,並完成下列準備工作,避免發生啟動或解密問題:
- 先決條件驗證: 驗證執行個體是否需要更新安全啟動憑證。
- 資料完整性和金鑰復原:找出磁碟加密 (BitLocker 或 LUKS FDE) 復原金鑰,並備份重要資料。如果設定有誤,變更安全變數可能會導致無法存取磁碟。
- Linux 更新順序建議:如果是 Linux 執行個體,建議先將
dbUEFI 變數更新為 Microsoft UEFI CA 2023,再更新至新版墊片。如果資料庫只包含 2011 年的憑證,而您套用只以 Microsoft UEFI CA 2023 簽署的墊片更新,這種排序方式有助於避免潛在的 CA 不符情況。 - 自訂 PK 或 KEK 設定:如果執行個體使用自訂安全啟動變數 (例如自訂
PK或KEK),本指南提供的標準更新檔案 (DBUpdate3P2023.bin或kek2023update.bin) 無法直接套用。UEFI 韌體需要使用系統上的KEK或PK私密金鑰簽署更新檔案。如果您使用自訂金鑰,則必須使用自己的私密金鑰簽署更新二進位檔,或透過自訂憑證授權單位管理更新。 - Cloud de Confiance by S3NS 備份和災難復原設備:這些是受管理的設備。您不必在這些設備上更新安全啟動憑證, Cloud de Confiance by S3NS 會自動管理所有更新。
在 Linux 上更新資料庫和 KEK
如要更新允許的簽章資料庫 (db) 和金鑰交換金鑰 (KEK),請選取作業系統適用的選項:
Debian 或 Ubuntu
您可以使用 fwupd、efitools 或 sbsigntool,更新 Debian 或 Ubuntu 的安全啟動憑證。
方法 1:使用 fwupd 更新 (建議)
建議使用 fwupd 更新憑證。這個方法需要 fwupdmgr 2.0.10 以上版本。執行 sudo fwupdmgr --version 即可確認版本。
執行下列指令:
sudo fwupdmgr refresh
sudo fwupdmgr update 5bc922b7bd1adb5b6f99592611404036bd9f42d0
sudo fwupdmgr update b7a1d3d90faa1f6275d9a98da4fb3be7118e61c7
方法 2:使用 efitools 更新
如要使用 efitools 套件更新 db 和 KEK 變數,請按照下列步驟操作:
更新資料庫
從 Microsoft 下載允許的簽章資料庫 (
db) 更新二進位檔:wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin更新
db變數:sudo chattr -i /sys/firmware/efi/efivars/db-* sudo efi-updatevar -a -f DBUpdate3P2023.bin db sudo chattr +i /sys/firmware/efi/efivars/db-*
更新 KEK
下載包含憑證更新的
.cab封存檔:wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab安裝
gcab公用程式:sudo apt update && sudo apt install gcab -y解壓縮封存檔,並確認解壓縮的
kek2023update.bin檔案的 SHA-256 雜湊值與99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf相符:gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab sha256sum kek2023update.bin套用更新:
sudo chattr -i /sys/firmware/efi/efivars/KEK-* sudo efi-updatevar -a -f kek2023update.bin KEK sudo chattr +i /sys/firmware/efi/efivars/KEK-*
方法 3:使用 sbsigntool 更新
如要使用 sbsigntool 套件中的 sbkeysync 公用程式更新 db 和 KEK 變數,請安裝 sbsigntool 和 gcab:
sudo apt update && sudo apt install sbsigntool gcab -y
更新資料庫
從 Microsoft 下載
db更新二進位檔:wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin同步處理金鑰:
sudo mkdir -p /etc/secureboot/keys/db sudo cp DBUpdate3P2023.bin /etc/secureboot/keys/db/ sudo chattr -i /sys/firmware/efi/efivars/db-* sudo sbkeysync --verbose sudo chattr +i /sys/firmware/efi/efivars/db-*
更新 KEK
下載並解壓縮 KEK 憑證更新:
wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab確認解壓縮的
kek2023update.bin檔案的 SHA-256 雜湊值與99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf相符:sha256sum kek2023update.bin同步處理金鑰:
sudo mkdir -p /etc/secureboot/keys/KEK sudo cp kek2023update.bin /etc/secureboot/keys/KEK/ sudo chattr -i /sys/firmware/efi/efivars/KEK-* sudo sbkeysync --verbose sudo chattr +i /sys/firmware/efi/efivars/KEK-*
Red Hat Enterprise Linux (RHEL)
您可以使用 sbsigntools 更新 RHEL 的安全啟動憑證。RHEL 映像檔可能搭載舊版 fwupd,無法直接支援 UEFI 憑證更新。
如要使用 sbsigntools 套件中的 sbkeysync 公用程式更新 db 和 KEK 變數,請按照下列步驟操作:
啟用 EPEL 存放區,並安裝
sbsigntools和cabextract:sudo dnf install epel-release -y sudo dnf install sbsigntools cabextract -y如要更新
db變數,請按照下列步驟操作:從 Microsoft 下載允許的簽章資料庫 (
db) 更新二進位檔:wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin同步處理金鑰:
sudo mkdir -p /etc/secureboot/keys/db sudo cp DBUpdate3P2023.bin /etc/secureboot/keys/db/ sudo chattr -i /sys/firmware/efi/efivars/db-* sudo sbkeysync --verbose sudo chattr +i /sys/firmware/efi/efivars/db-*
如要更新
KEK變數,請按照下列步驟操作:下載並解壓縮 KEK 憑證更新:
wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab確認解壓縮的
kek2023update.bin檔案的 SHA-256 雜湊值與99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf相符:sha256sum kek2023update.bin同步處理金鑰:
sudo mkdir -p /etc/secureboot/keys/KEK sudo cp kek2023update.bin /etc/secureboot/keys/KEK/ sudo chattr -i /sys/firmware/efi/efivars/KEK-* sudo sbkeysync --verbose sudo chattr +i /sys/firmware/efi/efivars/KEK-*
SUSE Linux Enterprise Server (SLES)
您可以使用 sbsigntools 或 efitools,更新 SLES 或 openSUSE 的安全啟動憑證。SLES 映像檔可能使用舊版 fwupd,或完全不提供 fwupd。
方法 1:使用 sbsigntools 更新
如要使用 sbsigntools 套件中的 sbkeysync 公用程式更新 db 和 KEK 變數,請啟用 SUSE Package Hub 並安裝 sbsigntools 和 cabextract:
sudo SUSEConnect -p PackageHub/15.5/x86_64
sudo zypper install sbsigntools cabextract -y
更新資料庫
從 Microsoft 下載
db更新二進位檔:wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin ```同步處理金鑰:
sudo mkdir -p /etc/secureboot/keys/db sudo cp DBUpdate3P2023.bin /etc/secureboot/keys/db/ sudo chattr -i /sys/firmware/efi/efivars/db-* sudo sbkeysync --verbose sudo chattr +i /sys/firmware/efi/efivars/db-* ```
更新 KEK
下載並解壓縮 KEK 憑證更新:
wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab ```確認解壓縮的
kek2023update.bin檔案的 SHA-256 雜湊值與99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf相符:sha256sum kek2023update.bin ```同步處理金鑰:
sudo mkdir -p /etc/secureboot/keys/KEK sudo cp kek2023update.bin /etc/secureboot/keys/KEK/ sudo chattr -i /sys/firmware/efi/efivars/KEK-* sudo sbkeysync --verbose sudo chattr +i /sys/firmware/efi/efivars/KEK-* ```
方法 2:使用 efitools 更新
如要使用 efitools 套件更新 db 和 KEK 變數,請按照下列步驟操作:
更新資料庫
從 Microsoft 下載允許的簽章資料庫 (
db) 更新二進位檔:wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin ```更新
db變數:sudo chattr -i /sys/firmware/efi/efivars/db-* sudo efi-updatevar -a -f DBUpdate3P2023.bin db sudo chattr +i /sys/firmware/efi/efivars/db-* ```
更新 KEK
下載包含憑證更新的
.cab封存檔:wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab ```啟用 SUSE Package Hub 並安裝
gcab公用程式:sudo SUSEConnect -p PackageHub/15.5/x86_64 sudo zypper install gcab -y ``` Note: Replace `15.5` with your SLES version if different.解壓縮封存檔,並確認解壓縮的
kek2023update.bin檔案的 SHA-256 雜湊值與99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf相符:gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab sha256sum kek2023update.bin ```套用更新:
sudo chattr -i /sys/firmware/efi/efivars/KEK-* sudo efi-updatevar -a -f kek2023update.bin KEK sudo chattr +i /sys/firmware/efi/efivars/KEK-* ```
在 Windows 上更新資料庫和 KEK
如果您並未使用或不打算在這項執行個體上使用安全啟動,就不需要套用這些憑證更新。如果未啟用安全啟動,Windows 作業系統通常會忽略套用這些安全啟動憑證更新的嘗試,因為不需要更新。
如果您打算稍後使用安全啟動功能,請先在執行個體上啟用安全啟動功能,更新安全啟動憑證。
在 Windows 執行個體中,登錄設定和排程工作會在相容版本上觸發更新:
- 請確認 Windows 執行個體已套用近期的每月更新。
以系統管理員身分在 PowerShell 中執行:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name "AvailableUpdates" -Value 0x5944 Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"重新啟動執行個體,允許對韌體變數執行作業。如果虛擬化安全功能處於啟用狀態,部分環境需要重新啟動兩次。