Ответ
Загрузка современной ОС Linux начинается с UEFI (или устаревшего BIOS).
Основные этапы:
- UEFI/BIOS: Инициализирует аппаратное обеспечение, выполняет POST (Power-On Self-Test) и ищет загрузочное устройство.
- Загрузчик (Bootloader): Для UEFI-систем загружается исполняемый файл (например,
grubx64.efi) из ESP (EFI System Partition). Для старых BIOS-систем код загрузчика считывается из MBR (Master Boot Record) диска. Основной загрузчик для Linux — GRUB. - Ядро (Kernel): Загрузчик загружает в память сжатый образ ядра (
vmlinuz-*) и временную корневую файловую систему initramfs (или initrd). Затем управление передаётся ядру. - Инициализация: Ядро распаковывает initramfs, загружает необходимые драйверы для доступа к реальному корневому разделу, монтирует его и запускает процесс инициализации пользовательского пространства — systemd (в большинстве современных дистрибутивов) или другой
init. - Цели systemd (targets): Systemd последовательно запускает сервисы, достигая целевого состояния, например,
multi-user.targetилиgraphical.target.
Практический пример проверки:
# Узнать, какая система инициализации используется
ps -p 1 -o comm=
# Узнать текущую цель systemd
systemctl get-default
# Просмотреть журнал загрузки (требует прав root)
journalctl -b