Super UEFIinSecureBoot Disk 是一個概念驗證(未主動維護或增強)的可啟動映像,具有 GRUB2 引導程序,旨在用作恢復 USB 隨身碟的基礎。
主要特點:在啟動 UEFI 安全啟動模式的情況下,磁碟功能齊全。它可以啟動任何作業系統或 .efi 文件,即使簽名不受信任、無效或遺失。
安全啟動是 UEFI 韌體的一項功能,旨在透過防止載入未使用可接受的數位簽章進行簽署的驅動程式或作業系統載入程式來保護啟動程序。
大多數現代電腦預設啟用安全啟動,這是 Windows 10 認證過程的要求。儘管可以在 UEFI 設定選單中的所有典型主機板上停用它,但有時這並不容易實現,例如,由於使用者不知道企業筆記型電腦中的 UEFI 設定密碼。
磁碟安裝在 USB 隨身碟上並啟動後,會有效停用安全啟動保護功能,並暫時允許對 PC 執行幾乎所有操作,就像停用安全啟動一樣。這對於資料復原、作業系統重新安裝或僅用於從 USB 啟動而無需考慮其他步驟可能很有用。
從發布頁面下載映像文件,使用以下程式之一將其寫入 USB 快閃記憶體:
警告:您的所有 USB 隨身碟資料都將被刪除。
此映像包含單一 FAT32 500MiB 分割區。使用 gparted 或類似工具調整其大小以獲得完整的 USB 隨身碟空間。
首次在具有安全啟動功能的 PC 上啟動將顯示「存取衝突」訊息框。按下“確定”並選擇“從文件註冊證書”選單選項。選擇ENROLL_THIS_KEY_IN_MOKMANAGER.cer
並確認證書註冊。
沒有安全啟動的電腦將啟動至 GRUB,無需手動幹預。
該磁碟可以在安全啟動中使用嗎?
是的,確實如此。在使用 MokManager 軟體首次啟動手動金鑰註冊後,它會載入任何未簽署或不受信任的 Linux 核心或 .efi 檔案或驅動程式。您無需停用安全啟動即可執行首次啟動金鑰註冊。
此磁碟是否可以在沒有安全啟動或停用安全啟動的基於 UEFI 的電腦上運作?
是的,它會像普通的 GRUB2 一樣運作。
該磁碟可以在具有 BIOS 的舊電腦上使用嗎?
是的,它的工作方式與任何其他 GRUB2 引導程式一樣。
該磁碟可用於繞過 UEFI bootkit/病毒中的安全啟動嗎?
不,不是真的。此磁碟需要實體使用者在首次啟動時手動幹預,從而消除了 bootkit 的隱密目的。
我可以用另一個 EFI 引導程式(rEFInd、syslinux、systemd-boot)取代 GRUB 嗎?
是的,將grubx64_real.efi
/ grubia32_real.efi
替換為您的檔案。引導程式不需要簽名,並且還應該啟動任何 .efi 文件,這要感謝grubx64.efi
/ grubia32.efi
(PreLoader)安裝的安全策略,就像磁碟中包含的 GRUB2 一樣。
該磁碟的 UEFI 啟動程序分 3 個階段執行。
bootx64.efi (shim) → grubx64.efi (preloader) → grubx64_real.efi (grub2) → EFI file/OS
第 1 階段:主機板加載墊片。 Shim 是一個特殊的載入器,它只會載入下一個可執行文件,在我們的例子中是 grubx64.efi(預先載入器)。 Shim 已使用 Microsoft 金鑰進行簽名,這使得它可以在所有庫存 PC 主機板上以安全啟動模式啟動。
Shim 包含嵌入式 Fedora 憑證(因為它是從 Fedora 儲存庫中提取的)。如果啟用安全啟動,由於 grubx64.efi 未使用嵌入式 Fedora 憑證進行簽名,shim 會啟動另一個執行檔 MokManager.efi,這是一個特殊的 shim 金鑰管理軟體。 MokManager 要求使用者繼續進行金鑰或雜湊註冊程序。
較新版本的 shim 將 UEFI LoadImage、StartImage、ExitBootServices 和 Exit 函數的掛鉤安裝為“針對非參與開機載入程式進行強化”,對於此磁碟用例,應繞過該掛鉤。 Fedora 的 shim 不安裝自訂 UEFI 安全性策略,這就是為什麼無法從第二階段引導程式載入自簽章 efi 檔案的原因,即使您使用 MokManager 新增它們的雜湊或憑證也是如此。
第2階段:preloader是一個類似shim的軟體。它還執行可執行檔驗證並載入下一個 efi 檔案。此磁碟中包含的預先載入器是一個精簡版本,僅執行一項功能:安裝允許所有 UEFI 安全性原則。這允許使用 LoadImage/StartImage UEFI 函數載入任意 efi 可執行文件,甚至在 GRUB 之外(例如,在 UEFI Shell 中),並繞過 shim 強化。
第 3 階段:GRUB2 是眾所周知的通用引導程式。它已被修補以加載Linux 核心而無需額外驗證(linux/linuxefi 命令),將.efi 二進位檔案載入記憶體並跳轉到其入口點(chainloader 命令),並模仿shim 的“參與引導程式” 。
閱讀我關於此主題的文章:利用簽署的引導程式來規避 UEFI 安全引導(也有俄語版本)
超級 UEFIinSecureBoot 磁碟 GRUB2 設定suisbd=1
變數。它可用於在多個開機載入程式之間共用的grub.conf
中偵測磁碟的已修補 GRUB2。
從版本 3 開始,GRUB 使用庫存 UEFI .efi 檔案載入器,因為內部載入器實作有些問題。若要使用內部載入程序,請將set efi_internal_loader=1
新增至 GRUB 設定檔中。這兩種方法都可以載入不受信任的 .efi 檔案。