問題背景
BIOS 引導通過 MBR 主引導扇區啟動,但 UEFI 模式下引導程序應寫入哪個分區?如何編譯?能否關閉安全啟動?U 盤在 UEFI 下如何實現引導?
核心差異
- BIOS/MBR:啟動代碼寫入磁碟前 512 字節(MBR),由 BIOS 直接加載執行。
- UEFI/GPT:需要 EFI 系統分區(ESP,FAT32 格式),啟動文件為
.efi 可執行文件,放置於 /EFI/BOOT/BOOTX64.EFI(x64)或對應架構路徑。
實作步驟
- 準備一個 FAT32 格式的 ESP 分區(至少 100MB)。
- 使用 EDK II (TianoCore) 或 GNU-EFI 開發環境編譯 UEFI 應用(輸出
.efi 文件)。
- 將編譯產物複製到 ESP 分區的
/EFI/BOOT/ 目錄下並重命名為標準啟動文件名。
- 在固件設置中關閉 Secure Boot(或簽名啟動文件),選擇 UEFI 模式啟動。
參考資源
詳細教程請參考:UEFI 引導程序開發入門