Я не могу понять процесс после того, как ESP вызовет Boot Manager, где он начнет загрузку загрузчика и перейдет к ядру.
Последний шаг, о котором я упомянул, не могу понять, будут ли здесь вызваны NTDETECT или NTOSKRNL, а затем WINLOGON или LTASS? Или это будет отличаться от загрузки UEFI GPT?
Кто-нибудь может объяснить?
решение1
Я не могу понять процесс после того, как ESP вызовет Boot Manager, где он начнет загрузку загрузчика и перейдет к ядру.
Процесс загрузки выполняется прошивкой (EFI), а не ESP. «ESP» — это всего лишь раздел, в котором хранятся файлы (загрузчики и т. д.), используемые прошивкой.
Прошивка EFI имеет встроенный менеджер загрузки, который сохраняет настройки в NVRAM: так он узнает, какой файл из ESP на самом деле нужно загрузить.
Однако, когда речь идет о таких вещах, как BOOTMGR или NTLDR, прошивка на самом деле не делает различий между менеджерами загрузки и загрузчиками — и то, и другое — это просто приложения .efi, запускаемые прошивкой. (А в BIOS оба являются одним и тем же типом загрузочного сектора.)
Если приложение поддерживает отображение меню для выбора ОС (как NTLDR или BOOTMGR), то оно называется менеджером загрузки; если оно поддерживает запуск самого ядра ОС (как WINLOAD), то оно называется загрузчиком; но для прошивки это все тот же тип программы.
Итак, в BIOS:
- Прошивка считывает данные NVRAM (обычно называемые «CMOS» или «настройками BIOS»), которые сообщают ей, MBR какого диска использовать.
- Прошивка запускает загрузочный сектор MBR, который затем запускает BOOTMGR (вариант BIOS диспетчера загрузки Windows) из системного раздела Windows.
- Диспетчер загрузки Windows считывает BCD и при необходимости отображает меню, затем запускает WINLOAD.EXE (вариант BIOS загрузчика Windows) из основного раздела Windows.
- Загрузчик Windows запускает NTOSKRNL.EXE (основное ядро Windows).
И по UEFI:
- Прошивка считывает данные NVRAM (переменные EFI), которые сообщают ей, какой
*.EFI
файл использовать и на каком диске его найти. - Прошивка запускает BOOTMGFW.EFI (вариант EFI диспетчера загрузки Windows) из системного раздела EFI.
- Диспетчер загрузки Windows считывает BCD и при необходимости отображает меню, затем запускает WINLOAD.EFI (вариант EFI загрузчика Windows) из основного раздела Windows.
- Загрузчик Windows запускает NTOSKRNL.EXE (основное ядро Windows).
Оба в конечном итоге запускают одно и то же ядро. Последующий процесс также одинаков для обоих типов прошивки. Компоненты Windows, такие как LSASSвсе равноНезависимо от того, загружаетесь ли вы в режиме EFI или в режиме BIOS, к моменту их запуска основная задача прошивки уже выполнена.