NTDETECT 和 NTOSKRNL 是否可用於 UEFI GPT 開機?

NTDETECT 和 NTOSKRNL 是否可用於 UEFI GPT 開機?

我無法理解 ESP 將呼叫引導管理器後的過程,它將開始載入引導程式並傳遞到核心。

我提到的最後一步無法理解此處是否會呼叫 NTDETECT 或 NTOSKRNL,然後是 WINLOGON 還是 LTASS?或者它與 UEFI GPT 啟動不同?

誰能解釋一下嗎?

答案1

我無法理解 ESP 將呼叫引導管理器後的過程,它將開始載入引導程式並傳遞到核心。

引導過程由韌體 (EFI) 執行,而不是由 ESP 執行。 「ESP」只是保存韌體使用的檔案(引導程式等)的分割區。

EFI 韌體有一個內建的啟動管理器,它將設定儲存在 NVRAM 中:這就是它如何知道實際載入 ESP 中的哪個檔案。

然而,當談論 BOOTMGR 或 NTLDR 之類的東西時,韌體並沒有真正區分引導管理器和引導程式 - 它們都只是由韌體啟動的 .efi 應用程式。 (在 BIOS 中,兩者也是相同類型的開機磁區。)

如果應用程式支援顯示選單來選擇作業系統(如 NTLDR 或 BOOTMGR 那樣),則它稱為啟動管理器;如果它支援啟動作業系統核心本身(如 WINLOAD 那樣),則稱為引導程式;但對於韌體來說,它仍然是同一類型的程式。

所以在BIOS上:

  1. 韌體讀取 NVRAM 資料(通常稱為“CMOS”或“BIOS 設定”),該資料告訴它要使用哪個磁碟的 MBR。
  2. 韌體啟動 MBR 開機磁區,然後從 Windows 系統分割區啟動 BOOTMGR(Windows 開機管理員的 BIOS 變體)。
  3. Windows 啟動管理員讀取 BCD 並在需要時顯示選單,然後從主 Windows 分割區啟動 WINLOAD.EXE(Windows 啟動載入程式的 BIOS 變體)。
  4. Windows 開機載入程式啟動 NTOSKRNL.EXE(主 Windows 核心)。

在 UEFI 上:

  1. 韌體讀取 NVRAM 資料(EFI 變數),該資料告訴它*.EFI要使用哪個檔案以及在哪個磁碟上找到它。
  2. 韌體從 EFI 系統分割區啟動 BOOTMGFW.EFI(Windows 啟動管理器的 EFI 變體)。
  3. Windows 啟動管理員讀取 BCD 並在需要時顯示選單,然後從主 Windows 分割區啟動 WINLOAD.EFI(Windows 啟動載入程式的 EFI 變體)。
  4. Windows 開機載入程式啟動 NTOSKRNL.EXE(主 Windows 核心)。

兩者最終都會啟動相同的核心。對於兩種韌體類型,此後的過程也是相同的。 Windows 元件,例如 LSASS不管無論您是在 EFI 模式還是 BIOS 模式下啟動,當它們啟動時,韌體的主要任務都已經完成。

相關內容