Как загружается ПК? Что такое BIOS?
В первую очередь хотелось бы рассказать вам о процессе загрузки ПК, начиная с нажатия кнопки питания и до загрузки ОС.
Процесс загрузки довольно прост:
- Нажатие кнопки питания
- Аппаратный старт железа, инициализация BIOS/ UEFI прошивки
- BIOS/ UEFI
- Загрузчик ОС
- Сама ОС
Теперь более подробно.
BIOS ( Basic Input/Output System, базовая система ввода/вывода ) - небольшая микропрограмма на материнской плате ПК или ноутбука, которая занимается проверкой и инициализацией оборудования, а так же передачей управления загрузчику ОС. В первую очередь стартует всегда BIOS, в том или ином виде.
В нынешних свежих ПК его вытеснил новый вид прошивок материнской платы - UEFI. По сути, это более навороченный BIOS, как правило с графическим интерфейсом с возможностью управления мышкой, но возможен и псевдографический вариант. Однако у него есть много отличий от классического BIOS
В чем отличия BIOS и UEFI?
- Поддержка GOP (Graphics Output Protocol). GOP - продвинутый интерфейс вывода графики, пришедший на замену таковому из классических BIOS. Благодаря ему можно реализовать вывод графики в нативном разрешении подключенного монитора, и это будет работать как в установщике ОС ( при условии поддержки GOP самой ОС и ее установщиком и загрузчиком ), так и в самом EFI, оболочке EFI Shell и т.д. Именно благодаря ему вы при загрузке ОС видите не логотип Windows, как это было раньше, а лого материнской платы. В некоторых случаях это лого можно даже заменить на свое.
- Поддержка устаревшего оборудования вынесена в отдельный модуль CSM ( Compatibility Support Mode ). В UEFI Class 3/3+ поддержка CSM вырезана полностью.
- Поддержка стиля разметки GPT ( GUID Partition Table ), в паре к MBR ( Master Boot Record )
- Поддержка графического режима с возможностью управления мышкой или прикосновением к экрану ( редко, если у устройства сенсорный экран )
- Поддержка дисков обьемом больше 2 ТБ.
- Поддержка независимой консоли UEFI Shell для выполнения различных .efi приложений ( в числе которых и загрузчики различных ОС )
- Поддержка модулей TPM, а так же им подобных проприетарных реализаций ( Apple T1/2, Microsoft Pluton ). В них хранятся зашифрованные данные, такие как биометрии Windows Hello, пароли, ключи шифрования BitLocker и многое другое.
- Поддержка Secure Boot - технология безопасной загрузки, не позволяющая загружать неподписанный загрузочный код. Работает в паре с менеджером ключей MOK, в котором хранятся сертификаты и ключи. Что бы запустить ОС с неподписанным загрузчиком, или без поддержки SB, достаточно просто выключить безопасную загрузку. В некоторых случаях что бы запустить загрузочный код, можно вручную импортировать сертификат в MOK. Такое решение например использует загрузчик Ventoy.
Интерфейсу UEFI уже более 20 лет, однако относительно активное использование его вместо классического BIOS начиналось с 2005 года. Одним из первых его начала использовать активно Apple, переведя свои машины на новый интерфейс в 2006 году.
Пару слов про требования к загрузочным устройствам.
BIOS
- Стиль разметки MBR
- Раздел с файловой системой NTFS, хотя и возможна загрузка с FAT32 и некоторых других ФС.
UEFI
- Стиль разметки GPT
- Раздел с загрузочными файлами обязательно должен быть с ФС FAT32
В обоих случаях файлы самой ОС могут лежать на разделах с другими ФС, однако загрузочные файлы должны либо лежать на отдельном разделе с поддерживаемой ФС, либо если лежать вместе с ОС в одном разделе, ФС которого поддерживается BIOS или UEFI
Пару источников, откуда я брал большую часть информации