1. Аппаратная инициализация
Power-On Self-Test - выполняется BIOS/UEFI:
- Проверка основных компонентов (CPU, RAM, видеокарта)
- Инициализация оборудования
- Поиск загрузочных устройств согласно порядку в настройках
# Посмотреть порядок загрузки в UEFI (пример)
efibootmgr -v
2. Загрузчик
Этап 1: MBR/GPT
- MBR (для Legacy BIOS): первые 512 байт диска
- GPT (для UEFI): более современный стандарт
Этап 2: GRUB2
- Загрузка core.img
- Чтение конфигурации (/boot/grub/grub.cfg)
- Отображение меню загрузки
# Просмотр конфигурации GRUB
cat /boot/grub/grub.cfg
3. Загрузка ядра Linux
- Загрузчик передаёт управление ядру
- Ядро распаковывается (vmlinuz-версия)
- Инициализируются:
- Драйверы устройств
- Подсистема памяти
- Процессы планирования
# Просмотр параметров загрузки ядра
cat /proc/cmdline
4. Initramfs
Временная корневая ФС в памяти:
- Содержит базовые драйверы
- Позволяет монтировать реальный root
- Особенно важно для:
- RAID/LVM
- Зашифрованных разделов
- NFS root
# Просмотр содержимого initramfs
lsinitramfs /boot/initrd.img-$(uname -r) | less
5. Запуск init/systemd
Раньше :
/etc/inittab -> /etc/rc.d/rc.sysinit -> /etc/rc.d/rc?.d/
Сейчас :
- systemd (PID 1) запускает default.target
- Параллельный запуск сервисов
- Обработка зависимостей
# Просмотр времени загрузки сервисов
systemd-analyze blame
6. Монтирование файловых систем
- Корневая ФС (/)
- /proc, /sys, /dev (виртуальные ФС)
- Остальные разделы (/home, /var и т.д.) согласно /etc/fstab
# Просмотр смонтированных ФС
mount | column -t
7. Запуск сервисов и демонов
- Сетевые сервисы
- Демоны авторизации
- Сервисы мониторинга
- Пользовательские сервисы
# Список юнитов systemd
systemctl list-unit-files --type=service
8. Запуск графической оболочки
- Display Manager (GDM, LightDM)
- X11/Wayland сервер
- Оконный менеджер/DE
Резюмируем
Ключевые этапы загрузки Linux:
- Аппаратная инициализация (POST, BIOS/UEFI)
- Загрузчик (GRUB2) - выбирает ядро и параметры
- Ядро Linux - инициализирует железо и подсистемы
- Initramfs - временная ФС для загрузки основного root
- Systemd - PID 1, запускает все сервисы
- Файловые системы - монтируются согласно fstab
- Сервисы - запускаются параллельно с учётом зависимостей
Диагностика проблем:
journalctl -b
- логи текущей загрузки
dmesg
- сообщения ядра
systemd-analyze critical-chain
- критические точки загрузки