SystemdDoctor
служба не работает загрузка цели

Система загружается не в то состояние

Что запускается при загрузке, определяет цель по умолчанию. Если она сбита — например указывает на аварийный режим или на графическую цель на сервере, — система поднимется не в том состоянии, и часть служб не запустится.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Цель по умолчанию переключена

    Команда переключения или ручная правка ссылки меняет поведение всех последующих загрузок. Про это легко забыть.

  2. Цель задана параметром ядра

    Параметр загрузки вида systemd.unit=rescue.target переопределяет цель по умолчанию. Он мог остаться в настройках загрузчика после разбора аварии.

  3. Цель указывает на несуществующий unit

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

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Цель по умолчанию одной командой.

systemctl get-default

Параметры ядра: там может быть переопределение цели.

cat /proc/cmdline

Какие цели достигнуты фактически.

systemctl list-units --type=target --no-pager

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Цель по умолчанию переключена
Почему происходит
Команда переключения или ручная правка ссылки меняет поведение всех последующих загрузок. Про это легко забыть.
Как проверить
Посмотрите цель и ссылку.
systemctl get-default
ls -l /etc/systemd/system/default.target
Как исправить
Верните обычную цель для сервера.
sudo systemctl set-default multi-user.target
2. Цель задана параметром ядра
Почему происходит
Параметр загрузки вида systemd.unit=rescue.target переопределяет цель по умолчанию. Он мог остаться в настройках загрузчика после разбора аварии.
Как проверить
Посмотрите параметры текущей загрузки и настройки загрузчика.
cat /proc/cmdline
grep -r "systemd.unit" /etc/default/grub /boot/loader 2>/dev/null
Как исправить
Уберите параметр из настроек загрузчика и обновите его конфигурацию.
3. Цель указывает на несуществующий unit
Почему происходит
После удаления пакета или ошибки в имени цель недостижима, и загрузка уходит в аварийный режим.
Как проверить
Проверьте, существует ли цель.
systemctl cat $(systemctl get-default) 2>&1 | head -3
Как исправить
Переустановите цель командой переключения: она создаст правильную ссылку.

Пример вывода

Цель по умолчанию сбита на аварийный режим. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

$ systemctl get-default
emergency.target

$ ls -l /etc/systemd/system/default.target
lrwxrwxrwx 1 root root 41 Sep 10 11:20 default.target -> /lib/systemd/system/emergency.target

Связанные ошибки

Источники

  • systemd.special(7)
    default.target и цели загрузки.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Проверено переключением цели по умолчанию на тестовой машине.
    собственная проверка, systemd 255
    сверено 15 сентября 2026