systemd systemd

Служба systemd: systemd показывает failed после загрузки системы

  • Обновлено
  • Чтение ≈ 4 минуты
  • Нужны права администратора

Краткий ответ

После старта компьютера systemctl --failed показывает службу, хотя её запуск может оказаться успешным спустя несколько минут. Диагностика определяет причину именно при загрузке: порядок, зависимости, недоступность тома или ошибка процесса.

В этой статье
  1. Когда возникает проблема и к каким системам относится
  2. Основные причины: как отличить одну от другой
  3. Пошаговая диагностика и устранение неисправности
  4. Как убедиться, что неисправность устранена
  5. Если предложенный способ не сработал

#Когда возникает проблема и к каким системам относится

После старта компьютера systemctl --failed показывает службу, хотя её запуск может оказаться успешным спустя несколько минут. Диагностика определяет причину именно при загрузке: порядок, зависимости, недоступность тома или ошибка процесса. Служба systemd в Linux, которая попадает в состояние failed непосредственно после загрузки, но иногда может запускаться вручную позже.

#Основные причины: как отличить одну от другой

Возможная причинаКак узнатьЧто делать
Служба стартует раньше готовности ресурсаПри boot нет нужного каталога, базы или сетиПосле ручного старта всё работаетПроверить зависимости и RequiresMountsFor/After
Условия запуска неверныConditionPathExists либо AssertPathExists не выполненыВ журнале Condition check result или unit skippedИсправить условие в соответствии с назначением
Служба падает и достигает лимита рестартовВ журнале exit code и start limitfailed сохраняется даже после исчезновения причиныИсправить основную ошибку, потом повторить запуск

#Пошаговая диагностика и устранение неисправности

  1. Шаг 1. Уточните, какой unit попал в failedВ терминале той системы, где проявилась ошибка, выполните systemctl --failed и скопируйте точное имя службы. Виртуальный .mount или .timer тоже может попасть в список, и его нужно разбирать по собственным параметрам.
    Linux · Терминал (Bash)Команда
    Терминал Rocky Linux; административные права не обязательны. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
    systemctl --failed
    systemctl list-units --state=failed --no-pager
  1. Шаг 2. Сравните событие загрузки и текущее состояниеДля найденного unit посмотрите status и журнал с -b; в нём должны быть первые сообщения именно текущей загрузки. Пропущенная ошибка может быть скрыта при просмотре только последних 10 строк.
    Linux · Терминал (Bash)Команда
    Терминал Rocky Linux; административные права не обязательны. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
    UNIT="имя.service"
    systemctl status "$UNIT" --no-pager
    journalctl -b -u "$UNIT" --no-pager -n 150
  1. Шаг 3. Проверьте ошибки самой программыВ выводе ищите status=203/EXEC, 217/USER, 200/CHDIR, permission denied и приложение-специфичные ошибки. Не редактируйте unit, пока не установлено, что падение связано именно с порядком запуска.
    Linux · Терминал (Bash)Команда
    Терминал Rocky Linux; административные права не обязательны. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
    UNIT="имя.service"
    systemctl show "$UNIT" -p ExecMainCode -p ExecMainStatus -p Result -p NRestarts
  1. Шаг 4. Узнайте зависимости, запускающие службу во время bootsystemctl cat показывает Wants, Requires, After и условия. After= определяет порядок, но сам по себе не притягивает нужную службу в транзакцию. Для сетевой готовности отличайте network.target от network-online.target.
  2. Терминал Rocky Linux; административные права не обязательны
    Linux · Терминал (Bash)Команда
    Терминал Rocky Linux; административные права не обязательны. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
    UNIT="имя.service"
    systemctl cat "$UNIT"
    systemctl list-dependencies "$UNIT" --no-pager
  1. Шаг 5. Проверьте, что ресурсы доступны при загрузкеЕсли сервис требует том, убедитесь, что он был смонтирован на момент старта; для удалённого ресурса проверьте и сеть. Установите наличие реальной причины по сообщениям журнала и systemd-analyze critical-chain, а не просто добавляйте задержку sleep 60.
    Linux · Терминал (Bash)Команда
    Терминал Rocky Linux; административные права не обязательны. Диагностика или адресная проверка; выполните только при соответствии условиям шага.
    systemd-analyze critical-chain имя.service
    findmnt -T /srv/приложение
    systemctl status network-online.target --no-pager
  1. Шаг 6. Исправьте подтверждённую причину с возможностью откатаЕсли служба действительно зависит от конкретного пути, рассмотрите RequiresMountsFor=; если проблема в сети, согласуйте реализацию ожидания network-online.target. Предварительно сохраните unit, правьте drop-in через systemctl edit и не ставьте Restart=always на все ошибки.
    Linux · Терминал (Bash)С осторожностьюНужен sudo
    Терминал Rocky Linux; нужны административные права. Меняет настройки/состояние службы: сначала копия и возможность отката.
    sudo systemctl edit имя.service

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

  1. Шаг 7. Примените и проверьте именно повторную загрузкуСначала systemd-analyze verify на правильном пути unit, daemon-reload, затем тестовый запуск. Только после сохранения данных и согласования перезагрузки проверьте состояние сразу после boot и работоспособность приложения. Команда reset-failed скрывает только метку, не исправляет основную проблему.
  2. Терминал Rocky Linux; нужны административные права
    Linux · Терминал (Bash)С осторожностьюНужен sudo
    Терминал Rocky Linux; нужны административные права. Меняет настройки/состояние службы: сначала копия и возможность отката.
    sudo systemctl daemon-reload
    sudo systemctl restart имя.service
    systemctl status имя.service --no-pager
    systemctl --failed

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

#Как убедиться, что неисправность устранена

После согласованной перезагрузки unit больше не оказывается failed, его прикладной ресурс доступен, а журнал подтверждает успешный старт без ошибок зависимостей.

#Если предложенный способ не сработал

Если проблема остаётся только при boot, соберите журнал с относительными отметками времени, выведите critical-chain и проверьте реальные зависимости. Не маскируйте ошибку reset-failed без устранения причины.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.