(описание к предыдущему посту)
1. Включение питания
→ Процесс загрузки начинается в момент включения компьютера.
→ Аппаратная часть системы инициализируется, управление передаётся BIOS или UEFI.
→ BIOS/UEFI хранится в энергонезависимой памяти и выполняет POST (самотест при включении питания) для проверки целостности оборудования.
2. Инициализация BIOS/UEFI
→ Обнаруживает и инициализирует аппаратные устройства: процессор, оперативную память, дисковые накопители и периферийные устройства.
→ Определяет загрузочные устройства (например, жёсткий диск, USB‑накопитель или сетевое подключение).
→ После завершения обнаружения оборудования управление передаётся загрузчику.
3. Выбор загрузочного устройства
→ BIOS/UEFI выбирает загрузочное устройство согласно настроенному порядку.
→ На загрузочном устройстве находится загрузчик (например, GRUB).
→ Система считывает загрузочный сектор, чтобы найти программу загрузчика.
4. GRUB (загрузчик)
→ GRUB (GRand Unified Bootloader) загружается с выбранного устройства.
→ Считывает конфигурационный файл
/etc/grub2.cfg. → Отображает меню загрузки (если настроено), позволяя выбрать нужное ядро или версию ОС.
→ Загружает выбранное ядро Linux в память.
→ Загружает необходимые модули ядра и библиотеки, требуемые для загрузки.
5. Инициализация ядра
→ Ядро Linux распаковывается и инициализирует системные компоненты.
→ Обнаруживает аппаратные компоненты и подключает корневую файловую систему (
/). → Запускает первый процесс в пользовательском пространстве — обычно
systemd. → Переключается из режима ядра в пользовательский режим.
6. Запуск systemd
→
systemd — первый процесс в пользовательском пространстве (PID 1). → Отвечает за инициализацию всех остальных служб и целей.
→ Считывает конфигурационные файлы из
/etc/systemd/system/. → Активирует целевые файлы, такие как:
→
basic.target →
multi-user.target →
getty.target →
ssh.service7. Выполнение стартовых скриптов
→ Выполняет общесистемные и пользовательские стартовые скрипты.
→ Примеры:
→
/etc/profile →
/systemd-logind →
~/.bashrc → Эти скрипты настраивают пользовательское окружение и фоновые службы.
8. Вход пользователя
→ После выполнения всех стартовых скриптов и целей появляется экран входа в систему.
→ Пользователи могут войти через терминал, графический интерфейс или SSH.
→ Система переходит в полностью работоспособное многопользовательское состояние.