在 ESP 调用 Boot Manager 后,我无法理解该过程,它将开始加载 Boot Loader 并传递给内核。
我提到的最后一步无法理解是否会在此处调用 NTDETECT 或 NTOSKRNL,然后调用 WINLOGON 或 LTASS?或者它会与 UEFI GPT 引导不同?
谁能解释一下?
在 ESP 调用 Boot Manager 后,我无法理解该过程,它将开始加载 Boot Loader 并传递给内核。
我提到的最后一步无法理解是否会在此处调用 NTDETECT 或 NTOSKRNL,然后调用 WINLOGON 或 LTASS?或者它会与 UEFI GPT 引导不同?
谁能解释一下?
引导过程由固件 (EFI) 执行,而不是由 ESP。“ESP”只是一个保存固件使用的文件(引导加载程序等)的分区。
EFI 固件有一个内置的引导管理器,它将设置存储在 NVRAM 中:这是它如何知道从 ESP 实际加载哪个文件的方式。
然而,当谈到 BOOTMGR 或 NTLDR 之类的东西时,固件并没有真正区分引导管理器和引导加载程序——它们都只是由固件启动的 .efi 应用程序。(在 BIOS 中,两者也是同一种引导扇区。)
如果应用程序支持显示菜单以选择操作系统(如 NTLDR 或 BOOTMGR 那样),则它称为启动管理器;如果它支持启动操作系统内核本身(就像 WINLOAD 一样),那么它被称为引导加载程序;但对于固件来说,它仍然是同一类型的程序。
所以在 BIOS 上:
在 UEFI 上:
*.EFI
使用哪个文件以及在哪个磁盘上找到它。两者最终都启动相同的内核。之后的过程对于两种固件类型也是相同的。诸如 LSASS 之类的 Windows 组件并不关心您是以 EFI 模式还是 BIOS 模式启动——当它们启动时,固件的主要任务已经完成。