Выражение этого вопроса такое же, как Какова последовательность загрузки UEFI? , но это не то, что я хочу.Я хотел бы знать последовательность UEFI в перспективе инструкций.
Например, в случае режима загрузки BIOS, в упрощенном виде,
- Питание компьютера включено.
- Содержимое микросхемы BIOS, подключенной к материнской плате, выполняет процесс POST (Самотестирование при включении питания).
- BIOS выполняет поиск MBR (основной загрузочной записи), которая имеет загрузочную подпись в предустановленном порядке загрузки устройства.
- Если найдена MBR с загрузочной подписью, загрузите первый сектор (512 байт) устройства в DRAM, адрес 0x7C00.Этот загруженный сектор (512 байт) становится «загрузчиком первой ступени».
- BIOS передает управление этому загрузчику первой ступени.Другими словами, исполняется код операции, расположенный по адресу физической памяти 0x7C00 в DRAM.
Статья по теме: https://neosmart.net/wiki/mbr-boot-process/
Но,
в случае UEFI, у меня возникают проблемы с пониманием этой последовательности.
Я уже просмотрел документацию по спецификации UEFI и часть OS Dev UEFI.
UEFI: https://uefi.org/sites/default/files/resources/UEFI_Spec_2_8_final.pdf
OS Dev: https://wiki.osdev.org/UEFI
Кажется, эта функция efi_main () работает как точка, эквивалентная 0x7C00 в режиме BIOS.Но как?
Выполняет ли прошивка UEFI что-то вроде
jmp efi_main
после выполнения ряда заданий?
Q1.Как протекает режим загрузки UEFI?
Q2.Есть ли хороший пример UEFI или учебное пособие, например, Bormthorn, основанное на BIOS?
PS
Я видел новость (уже прошедшие годы), что Intel удаляет поддержку BIOS с помощью2020.
https://www.anandtech.com/show/12068/intel-to-remove-bios-support-from-uefi-by-2020
Там написано
Once CSM is removed, the new platforms will be unable to run 32-bit operating systems, unable to use related software (at least natively), and unable to use older hardware, such as RAID HBAs (and therefore older hard drives that are connected to those HBAs), network cards, and even graphics cards that lack UEFI-compatible vBIOS (launched before 2012 – 2013)
Q3.Не означает ли это, что все, что связано с загрузкой BIOS (загрузчик первой ступени в 0x7C00 и прерывания BIOS и т. Д.), Становится устаревшим?