← Назад к вопросам

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

2.7 Senior🔥 261 комментариев
#Linux и операционные системы

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI29 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Процесс загрузки BIOS

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

Этап 1: POST (Power-On Self-Test)

При включении питания процессор выполняет следующее:

  1. Инициализация процессора — сброс всех регистров, установка режима работы (real mode)
  2. Базовая проверка оборудования — проверка оперативной памяти, видеокарты, дисков
  3. Контрольные суммы — верификация целостности BIOS кода в ROM

Если обнаружены критические ошибки — выводится звуковой сигнал (beep codes), загрузка прерывается.

Этап 2: Инициализация оборудования

BIOS инициализирует:

  • Система памяти — таблица трансляции страниц (Page Table), контроллеры памяти
  • Контроллеры дисков — IDE, SATA, NVMe (включение контроллеров)
  • Сетевые адаптеры — базовая инициализация для PXE boot
  • Видеосистема — режим видео (обычно 80x25 текстовый режим)
  • Клавиатура и мышь — подключение устройств ввода
  • Системные часы — синхронизация с CMOS

Этап 3: Построение BIOS Data Area (BDA)

BIOS создаёт таблицу памяти с информацией об оборудовании:

0x400-0x4FF: BIOS Data Area (BDA) 
- Размер памяти
- Подключённые устройства
- Конфигурация портов

Эта информация доступна операционной системе через обращение к памяти.

Этап 4: Вывод информации на экран

BIOS выводит:

AMI BIOS Version 12.34
Processor: Intel Core i7 @ 3.5GHz
Memory: 16384 MB
Storage: 512 GB SSD
PCI Device List

Эта информация позволяет пользователю убедиться, что оборудование распознано корректно.

Этап 5: Setup/Configuration (опционально)

Если пользователь нажал определённую клавишу (обычно DEL, F2, F12), запускается BIOS Setup — интерфейс конфигурации:

  • Порядок загрузки (Boot Order)
  • Овер-клокинг процессора
  • Параметры электропитания
  • Проверка безопасности (Secure Boot)
  • Сохранение настроек в CMOS RAM (батарея)

Этап 6: Выбор загрузочного устройства (Boot Device Selection)

BIOS ищет загрузочное устройство согласно приоритету:

  1. Floppy Drive (устарело)
  2. Hard Drive (IDE, SATA, NVMe)
  3. Optical Drive (CD/DVD)
  4. USB Device (флешка)
  5. Network Boot (PXE) — загрузка по сети
  6. SSD

В современных системах используется UEFI вместо классического BIOS — он намного функциональнее.

Этап 7: Загрузочный сектор (Boot Sector)

BIOS читает первые 512 байт с выбранного диска (Master Boot Record, MBR):

  • 0-445 байты: код загрузчика (bootloader code)
  • 446-509 байты: таблица разделов (Partition Table)
  • 510-511 байты: сигнатура (0x55AA)
MBR Format:
┌─────────────────────────┐
│  Bootloader Code (446B) │
├─────────────────────────┤
│  Partition Table (64B)  │
├─────────────────────────┤
│  Boot Signature (2B)    │ (0x55AA)
└─────────────────────────┘

Если сигнатура не 0x55AA, диск не считается загрузочным.

Этап 8: Передача управления загрузчику (Bootloader)

BIOS передаёт управление коду из MBR:

  1. GRUB (Linux) или NTLDR/BCD (Windows) — второстепенный загрузчик
  2. Загрузчик загружает ядро ОС в памяти
  3. Передаёт управление ядру с параметрами

Этап 9: Защита памяти и режимы процессора

После загрузки ядро включает:

  • Protected Mode (32-бит) или Long Mode (64-бит)
  • Memory Protection (MMU — Memory Management Unit)
  • Interrupts и Exceptions Handling
  • Virtual Memory и paging

UEFI (современная альтернатива BIOS)

Современные системы используют UEFI (Unified Extensible Firmware Interface):

  • Поддержка дисков > 2 ТБ (GPT вместо MBR)
  • Графический интерфейс
  • Поддержка Secure Boot
  • Загрузка .EFI приложений
  • Более модульная архитектура

Оптимизация времени загрузки

Время BIOS можно сократить:

  • Отключение неиспользуемых устройств (USB, COM-порты)
  • Отключение POST полностью (опасно)
  • Quick Boot вместо полной проверки памяти
  • SSD вместо HDD значительно ускоряет загрузку ОС

Практическое значение для разработчика

Понимание BIOS критично для:

  • Kernel Development — знание о режимах процессора, интерруптов
  • Bootloader Development — написание собственного загрузчика
  • Low-level System Programming — работа с оборудованием напрямую
  • Embedded Systems — часто требуется прямое взаимодействие с BIOS
  • Forensics — анализ загрузочного сектора при расследованиях

Итак, BIOS — это критически важный слой между аппаратным обеспечением и ОС, обеспечивающий инициализацию оборудования и загрузку системы.

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