Загрузка операционной системы
Здесь — цепочка от кнопки питания до рабочего стола — POST, BIOS/UEFI, загрузчик, ядро ОС. Таблицы разделов (MBR/GPT) и диски — в главе про хранилище; роли компонентов — в метафоре "кабинета".
Загрузчики
Каждый раз при включении компьютера запускается цепочка программ, которая превращает "мертвое" железо в живую вычислительную систему. Эта цепочка начинается с прошивки материнской платы и завершается загрузкой операционной системы. Центральное звено в этом процессе — загрузчик. Он служит мостом между аппаратным обеспечением и программным окружением, обеспечивая корректный старт ОС.
Процесс загрузки зависит от типа прошивки: BIOS или UEFI. Эти технологии определяют, как инициализируется оборудование, где искать загрузочные файлы и как передавать управление операционной системе.
При включении компьютера с BIOS пользователь может увидеть текстовое окно вроде:
American Megatrends BIOS v2.15
Press DEL to enter SETUP
Press F12 to select boot device
Это — интерфейс прошивки. Он не поддерживает мышь, а все действия выполняются клавишами. Даже если на диске установлен Windows или Linux, BIOS ничего не знает об этих системах — он лишь ищет "загрузочный флаг" на диске.
Play ITЗагрузка интерактивного демо…
Интерфейс зависит от материнской платы, и помимо классических BIOS/UEFI стилей, визуально они могут быть специфическими для производителей, например, ASUS, Gigabyte, MSI. У них могут быть свои оболочки, упрощённые режимы, свои вариации горячих клавиш. Но в большинстве компьютеров, после нажатия на кнопку DEL до того, как загрузится операционная система, можно попасть в меню BIOS/UEFI.
А вот уже в самом меню можно проверить оборудование, компоненты, настроить параметры, и выбрать диск, с которого загружать операционную систему.
Таким образом, на диске лежат файлы ОС, вам нужно лишь указать диск, с которого загружать её. А затем, файлы выгрузятся в оперативную память и компьютер запустит систему - именно поэтому при включении, часть ОЗУ уже занята - как раз для работы операционки.
Представьте, что вы включаете компьютер с установленной Windows 11.
Прошивка находит на SSD раздел с загрузчиком bootmgfw.efi, загружает его в память по адресу, например, 0x100000.
Затем загрузчик читает файл ядра ntoskrnl.exe и помещает его в другую область ОЗУ — скажем, начиная с 0x2000000.
Одновременно в память загружается образ диспетчера конфигурации (bootvid.dll, hal.dll и другие компоненты).
К моменту, когда появляется экран входа, в оперативной памяти уже размещены сотни мегабайт системных данных, даже если вы ещё ничего не запускали.
Этот процесс полностью автоматизирован. Пользователь не выбирает, куда грузить ядро или какой драйвер использовать — всё это определяет загрузчик на основе информации, хранящейся на диске. Именно поэтому важно, чтобы файловая система оставалась целой: повреждение даже одного критического файла (например, vmlinuz в Linux или BCD в Windows) может привести к остановке загрузки с сообщением вроде "Operating System not found" или "GRUB rescue".
Прошивка не анализирует содержимое файлов — она лишь передаёт управление первому исполняемому образу, соответствующему её архитектуре (.efi для UEFI, машинный код в MBR для BIOS). Всё остальное — задача загрузчика операционной системы.
Типовые сценарии сбоев загрузки
Чтобы теория не оставалась абстрактной, вот самые частые практические случаи:
- "Operating System not found" — прошивка не видит корректный загрузчик на выбранном носителе (поврежден ESP/MBR, неверный boot order, отключен нужный диск).
- "GRUB rescue": повреждены файлы загрузчика Linux или сместились UUID разделов после изменений разметки.
- Циклический перезапуск до логотипа — проблема может быть как в загрузчике, так и в памяти/диске, поэтому проверяют и файловую систему, и аппаратный уровень.
Практический алгоритм диагностики обычно такой — проверить порядок загрузки в UEFI, убедиться что диск определяется, затем проверить целостность разделов и загрузочных файлов.
См. также:
Перезагрузка
Перезагрузка (reset) — процесс, при котором компьютер или другое устройство очищает или восстанавливает содержимое оперативной памяти и возобновляет работу с начала цепочки загрузки (POST → прошивка → загрузчик → ОС).
| Вид | Как происходит | Кто инициирует |
|---|---|---|
| Программная ("мягкая", soft reboot) | ОС завершает процессы, по возможности сохраняет данные, затем снова запускает загрузку без обязательного отключения питания | Пользователь (меню "Перезагрузка"), команда shutdown /r, ядро после обновления |
| Аппаратная ("жёсткая", hard reboot) | Сброс по линии Reset, отключение питания или сигнал сброса на процессор; ОС не успевает корректно завершить запись на диск | Кнопка Reset на корпусе, долгое удержание питания, сбой питания, сторожевой таймер на серверах и в космической технике |
На настольных ПК кнопка Reset на материнской плате замыкает специальный разъём — прошивка начинает цикл заново. Из одной только ОС заблокировать аппаратный сброс обычно нельзя (исключения — отдельное оборудование вроде watchdog).
После жёсткой перезагрузки файловые системы с отложенной записью (типично для Windows и Linux) могут оказаться в "грязном" состоянии; при следующем старте ОС часто запускает проверку диска (CHKDSK, fsck).
Спонтанная перезагрузка без команды пользователя — отдельный диагностический случай — перегрев и троттлинг, сбой питания, ошибки драйверов, синий экран (Windows), паника ядра (Unix-подобные системы), вредоносное ПО. Повторяемость низкая, поэтому ищут журналы событий, температуру и стабильность БП.
Любая перезагрузка снова проходит этапы из этой главы — POST, выбор носителя, загрузчик, ядро. "Мягкая" перезагрузка даёт ОС шанс аккуратно закрыть файлы; "жёсткая" обрывает работу на текущем такте процессора.
BIOS
★ BIOS (Basic Input/Output System) - первое ПО, запускаемое при включении компьютера - отвечает за инициализацию оборудования и загрузку операционной системы.
При запуске выполняется POST (Power-On Self Test) — проверка базового железа. Затем инициализация устройств и поиск загрузочного носителя; управление передаётся загрузчику ОС. Порядок дисков, разгон и напряжение настраиваются в Setup (Del/F2). Несколько дисков с ОС позволяют переключить загрузку, если один вышел из строя.
Прошивка BIOS лежит в микросхеме flash на материнской плате (часто 8–32 МБ). Унаследованный код BIOS исторически умещался в первый мегабайт адресного пространства — это не "размер всей микросхемы". Legacy BIOS работает в 16-битном режиме реальной адресации, ориентирован на MBR-диски и уступает UEFI по скорости старта и возможностям (GPT, Secure Boot, графический интерфейс).
Этапы работы BIOS
-
POST (Power-On Self Test)
BIOS проверяет базовые компоненты — процессор, оперативную память, видеокарту, клавиатуру. Если обнаружена критическая ошибка, система может выдать звуковой сигнал или прекратить загрузку. -
Инициализация оборудования
BIOS активирует контроллеры дисков, порты USB, сетевые адаптеры и другие устройства, необходимые для дальнейшей загрузки. -
Поиск загрузочного устройства
Согласно заданному порядку (например, сначала SSD, затем USB), BIOS ищет устройство с загрузочной меткой. -
Чтение MBR
На найденном устройстве BIOS читает первый сектор — MBR (Master Boot Record), размером ровно 512 байт. В нём содержится:- Код загрузчика (первичного, обычно 446 байт),
- Таблица разделов (64 байта),
- Метка окончания (0x55AA).
-
Передача управления
BIOS загружает код из MBR в оперативную память и передаёт ему управление. Этот код, в свою очередь, может загрузить более сложный загрузчик (например, GRUB Stage 1 → Stage 2).
Типичный MBR начинается так (первые 16 байт):
00000000: eb48 904d 5344 4f53 352e 3000 0208 0100 .H.MSDOS5.0.....
Здесь eb48 — это машинная команда для перехода к основному коду загрузчика, а строка MSDOS5.0 — сигнатура файловой системы. Последние два байта всегда 55 AA — это "магическое число", которое BIOS проверяет, чтобы убедиться: сектор действительно загрузочный.
Ограничения BIOS
- Работает в 16-битном режиме реальной адресации, что ограничивает доступ к памяти (максимум 1 МБ).
- Поддерживает только MBR-разметку, которая не позволяет использовать диски больше 2 ТБ.
- Не имеет встроенной защиты от неавторизованного ПО.
- Интерфейс — текстовый, без поддержки мыши.
UEFI
★ UEFI (Unified Extensible Firmware Interface) - современный стандарт прошивки, который пришел на смену BIOS. Функции те же, но загрузка ОС может быть как с MBR, так и с GPT дисков, имеется графический интерфейс с поддержкой мыши, более гибкое управление оборудованием, модульность (определенные модули можно обновлять независимо) и Secure Boot - защита от загрузки неавторизованного или вредоносного ПО. UEFI занимает несколько мегабайт (16 МБ) и более производительна (работает в 64-битном режиме).
BIOS отличается от UEFI на уровне интерфейса прошивки:
Преимущества UEFI
- 64-битные загрузчики и сервисы прошивки — на современных ПК UEFI работает в длинном режиме процессора и даёт доступ к большим объёмам RAM при старте.
- Поддержка GPT (GUID Partition Table) — позволяет использовать диски объёмом свыше 2 ТБ и создавать до 128 разделов.
- Графический интерфейс с поддержкой мыши и нескольких языков.
- Модульная структура — отдельные компоненты (драйверы, сервисы) можно обновлять независимо.
- Secure Boot — механизм проверки цифровой подписи загрузчика и ядра ОС, предотвращающий запуск вредоносного кода.
- Объём прошивки — до 16 МБ, что даёт пространство для расширенных функций.
Представьте, что вы пытаетесь установить Linux на ноутбук с Windows. Если Secure Boot включён, система откажет в загрузке, если образ Linux не содержит цифровую подпись, доверенную UEFI.
Например, Ubuntu использует подписанный Microsoft’ом загрузчик shim.efi, который затем запускает GRUB.
Без такой цепочки — отказ.
Процесс загрузки — сравнение
Загрузка через BIOS
- Выполнение POST.
- Поиск первого загрузочного устройства в списке.
- Чтение MBR (512 байт).
- Выполнение кода загрузчика из MBR.
- Загрузчик находит вторую стадию (например,
grub.cfg) и загружает ядро ОС. - Передача управления ядру.
Этот путь линейный, жёстко привязан к физической структуре диска и не допускает гибкой настройки.
Загрузка через UEFI
- Выполнение POST и инициализация устройств.
- Активация Secure Boot (если включён).
- Поиск ESP на всех подключённых дисках.
- Чтение файла загрузчика из ESP (например,
bootx64.efi). - Проверка цифровой подписи загрузчика (при Secure Boot).
- Запуск загрузчика, который загружает ядро ОС.
- Передача управления ядру.
Этот путь более гибкий, безопасный и ориентированный на файловую систему, а не на сектора.
ESP
UEFI не читает "голые" сектора, как BIOS. Вместо этого она ищет специальный раздел — ESP (EFI System Partition).
ESP (EFI System Partition) - специальный раздел на диске, используемый UEFI для хранения загрузочных файлов. Этот раздел форматируется в файловой системе FAT32 и содержит файлы загрузчиков, драйверы UEFI и конфигурационные файлы.
ESP — это фактически "загрузочный диск" для UEFI, оформленный как обычный каталог с файлами. После монтирования ESP (обычно как /boot/efi в Linux или диск S:\ в Windows) можно увидеть такую структуру:
EFI/
├── BOOT/
│ └── bootx64.efi ← универсальный загрузчик для x64
├── Microsoft/
│ └── Boot/
│ └── bootmgfw.efi ← загрузчик Windows
└── ubuntu/
└── grubx64.efi ← загрузчик Ubuntu
Каждая ОС размещает свои файлы в отдельной папке. UEFI читает эту структуру как обычную FAT32-файловую систему и выбирает, какой .efi-файл запустить.
Загрузчики операционных систем
После того как прошивка (BIOS или UEFI) передаёт управление, в дело вступает загрузчик операционной системы. Его задача — подготовить среду для запуска ядра.
Основные функции загрузчика
- Поиск ядра — определение местоположения файла ядра (
vmlinuzв Linux,ntoskrnl.exeв Windows). - Загрузка в память — чтение ядра и связанных модулей (initramfs, драйверы) в оперативную память.
- Настройка параметров запуска — передача аргументов ядру (например, уровень журналирования, режим восстановления).
- Меню выбора ОС — при наличии нескольких систем (Linux + Windows) загрузчик предоставляет пользователю выбор.
- Поддержка обновлений — автоматическое обнаружение новых ядер и добавление их в меню.
При наличии двух операционных систем пользователь видит текстовое меню вроде:
GNU GRUB version 2.06
* Ubuntu 24.04 LTS
Advanced options for Ubuntu
Windows Boot Manager (on /dev/nvme0n1p1)
★ Загрузчик операционной системы – это программа, которая отвечает за загрузку ОС после того, как BIOS или UEFI выполнили инициализацию оборудования.
Популярные загрузчики
-
GRUB (GNU GRand Unified Bootloader)
Стандарт де-факто для большинства Linux-дистрибутивов. Поддерживает множество файловых систем, скриптовую логику, темы оформления и мультизагрузку. -
Windows Boot Manager
Интегрирован в архитектуру Windows. Работает с BCD (Boot Configuration Данные) — базой данных в формате реестра, хранящей параметры загрузки. -
rEFInd, systemd-boot, LILO
Альтернативные решения, используемые в специализированных или минималистичных системах.
В Windows параметры загрузки хранятся не в текстовом файле, а в двоичной базе данных. Команда в PowerShell:
bcdedit /enum firmware
...покажет список загрузочных записей UEFI, например:
Firmware Application (101fffff...)
-------------------------------
identifier {fwbootmgr}
description Windows Boot Manager
path \EFI\Microsoft\Boot\bootmgfw.efi
Это позволяет Windows точно указывать, какой .efi-файл использовать при загрузке.
Представьте, что компьютер — это театр.
BIOS или UEFI — это электрик, который включает свет и проверяет, что сцена готова.
Загрузчик операционной системы — это режиссёр, который вызывает актёров (ядро, драйверы), расставляет реквизит (параметры запуска) и даёт команду: "Начинаем спектакль!"