Ответ
Когда я включаю сервер, происходит цепочка событий, которую я часто анализирую при проблемах с загрузкой. Вот ключевые этапы:
-
Firmware (BIOS/UEFI) – Выполняется самотестирование оборудования (POST). UEFI загружает свой загрузчик из ESP (EFI System Partition).
-
Загрузчик – В моих системах это обычно GRUB2. Он загружает выбранное ядро Linux и initramfs (initial RAM filesystem) — временную корневую ФС с драйверами, необходимыми для монтирования реального корня.
-
Ядро (Kernel) – Ядро распаковывается из образа, инициализирует CPU, память, драйверы устройств. Затем оно монтирует реальную корневую файловую систему (
/) и выполняет/sbin/init(обычно это systemd). -
Init-система (systemd) – Это основной процесс (PID 1). Systemd монтирует файловые системы из
/etc/fstab, активирует swap и запускает целевые юниты (targets).# Чтобы посмотреть, какие сервисы тормозят загрузку, я использую: systemd-analyze blame systemd-analyze critical-chain -
Запуск сетевых сервисов – Запускается
systemd-networkdили NetworkManager для настройки сети. Затемsystemd-resolvedдля DNS. -
Запуск SSH-демона – Systemd запускает юнит
sshd.service. Демон SSH (sshd) загружает конфигурацию из/etc/ssh/sshd_config, генерирует host keys (если их нет) и начинает слушать порт 22 (или другой, указанный в конфиге). -
Готовность – Сервер теперь готов принимать подключения. Я проверяю это командой
sudo systemctl status sshdи пытаюсь подключиться локально черезssh localhost.
Если SSH не поднимается, я смотрю логи: journalctl -u sshd -f или проверяю, не блокирует ли подключение firewall (sudo iptables -L или sudo firewall-cmd --list-all).