Что происходит на этапе запуска BIOS?

«Что происходит на этапе запуска BIOS?» — вопрос из категории Linux и ОС, который задают на 25% собеседований C/C++ Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

BIOS (Basic Input/Output System) — это прошивка, хранящаяся в чипе на материнской плате. Её выполнение — самый первый этап загрузки компьютера после подачи питания. Основные шаги:

  1. Сброс и инициализация CPU: После подачи питания специальная схема генерирует сигнал сброса для процессора. CPU начинает выполнение кода с фиксированного адреса в памяти (например, 0xFFFF0), где находится начало кода BIOS.
  2. POST (Power-On Self-Test): BIOS выполняет базовые проверки критического оборудования:
    • Проверка целостности собственного кода.
    • Обнаружение и инициализация системной памяти (RAM).
    • Инициализация видеоадаптера (часто с выводом логотипа производителя).
    • Проверка наличия и работоспособности ключевых устройств: клавиатуры, дисковых контроллеров.
    • При обнаружении фатальных ошибок POST останавливается с звуковым сигналом (beep code) или сообщением на экране.
  3. Перечисление и инициализация оборудования: BIOS сканирует шины (PCI, USB) для обнаружения всех подключенных устройств и загружает для них базовые драйверы (хранящиеся в самой прошивке BIOS).
  4. Выбор загрузочного устройства: Пользовательские настройки BIOS (или порядок по умолчанию) определяют последовательность опроса устройств на наличие загрузочной записи (например, жесткий диск, SSD, USB-флешка, сеть).
  5. Загрузка загрузчика (Bootloader): BIOS загружает с выбранного устройства первый сектор (512 байт для MBR) в оперативную память по адресу 0x7C00 и передает ему управление. Этот сектор содержит либо первичный загрузчик (часть MBR), либо код, который загружает более сложный загрузчик (например, GRUB) с диска.

Связь с ОС: На этом роль BIOS заканчивается. Дальнейшая загрузка ядра Linux или другой ОС — задача загрузчика. Современные системы используют UEFI (Unified Extensible Firmware Interface), который является более сложной и безопасной заменой BIOS, работающей с GPT-разделами и загружающей исполняемые файлы (.efi) напрямую.