В данной статье разберем все стадии процесса начальной загрузки в ОС Astra Linux. В каждом пункте будет разбор более подробной информации каждой стадии процесса загрузки Astra Linux.
- При подаче питания процессор начинает выполнять код BIOS (Basic Input/Output System в устаревших системах), либо UEFI (Unified Extensible Firmware Interface в современных системах):
- происходит тестирование оборудования;
- производится поиск загрузочного устройства;
- загружается программа-загрузчик из записи MBR (для BIOS), либо с EFI-раздела (для UEFI) загрузочного устройства.
- Загрузчик EFI/MBR служит для обнаружения и загрузки GRUB (GRand Unified Bootloader):
- EFI-загрузчик размещается в разделе ESP (EFI Sytem Partition, отформатировано в FAT32) и имеет имя /EFI/Boot/bootx64.efi;
- в случае MBR (Master Boot Record) загрузчик размещается в фиксированном месте, в составе записи MBR.
- Загрузчик GRUB (в настоящее время используется GRUB2) показывает загрузочное меню, загружает в память ядро Linux, образ initramfs для создания RAM-диска с начальной структурой файловой иерархии для linux и необходимыми сценариями и драйверами, после чего передает управление ядру linux.
- Ядро linux инициализирует наиболее важные функции (механизм системных вызовов, планировщик задач и т.д.). монтирует в / образ initramfs и запускает процесс /sbin/init с PID=1.
- Если используется initramfs (по умолчанию он используется), то /sbin/init выполняет сценарий инициализации, загружая необходимые драйвер с RAM-диска. После загрузки драйверов уже можно смонтировать в / системный раздел. Монтируется устройство с системой в /, и процесс init замещается службой systemd.
- Служба systemd запускает целевое состояние по умолчанию, запускает службы, виртуальные терминалы, графическую подсистему (fly-dm). Открывается окно входа, система ожидает вхожа пользователя.