You are in emergency mode: система не загрузилась
Аварийный режим означает, что systemd не смог достичь обычной цели загрузки и остановился, дав приглашение оболочки. Причина почти всегда в файловых системах: неверная запись в /etc/fstab, отсутствующее устройство, повреждённая файловая система.
Что это значит
В аварийном режиме корень часто смонтирован только для чтения. Прежде чем править файлы, его нужно перемонтировать на запись: mount -o remount,rw /. Это первая команда, которую здесь выполняют.
Вероятные причины
По порядку: сверху то, что встречается чаще.
-
Неверная запись в /etc/fstab
Раздел с обязательным монтированием не найден: сменился UUID, диск отключён, опечатка в пути. Загрузка останавливается, потому что без этого раздела система считается неработоспособной.
-
Повреждена файловая система
Проверка при загрузке не смогла исправить ошибки автоматически и остановила загрузку.
-
Отсутствует или недоступна цель по умолчанию
Если цель по умолчанию указывает на несуществующий unit, достичь её нельзя, и загрузка уходит в аварийный режим.
-
Сбой в одной из служб, обязательных для загрузки
Служба с жёсткой зависимостью от базовой цели может остановить загрузку целиком.
Диагностика
Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.
Все ошибки текущей загрузки: причина аварийного режима обычно в первых строках.
journalctl -b -p err --no-pager | head -40Проверяет fstab целиком и называет проблемные записи.
sudo findmnt --verify --verboseУпавшие unit — короткий список того, что помешало загрузке.
systemctl --failed --no-pagerРешение
Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.
- Почему происходит
- Раздел с обязательным монтированием не найден: сменился UUID, диск отключён, опечатка в пути. Загрузка останавливается, потому что без этого раздела система считается неработоспособной.
- Как проверить
-
Проверьте записи fstab и фактические устройства.
sudo findmnt --verify --verbose lsblk -o NAME,FSTYPE,UUID,MOUNTPOINT
- Как исправить
-
Исправьте UUID или добавьте параметр
nofailтем разделам, без которых система может загрузиться. Проверять правку стоит командой проверки, а не перезагрузкой.sudo mount -o remount,rw / && sudo nano /etc/fstab
- Почему происходит
- Проверка при загрузке не смогла исправить ошибки автоматически и остановила загрузку.
- Как проверить
-
Посмотрите сообщения проверки в журнале загрузки.
journalctl -b --no-pager | grep -iE "fsck|EXT4-fs error|xfs" | head -20
- Как исправить
-
Проверьте файловую систему на размонтированном разделе:
fsck -y /dev/sdb1. Для корневого раздела это делается из режима восстановления или с внешнего носителя.
- Почему происходит
- Если цель по умолчанию указывает на несуществующий unit, достичь её нельзя, и загрузка уходит в аварийный режим.
- Как проверить
-
Посмотрите цель по умолчанию.
systemctl get-default ls -l /etc/systemd/system/default.target
- Как исправить
-
Переустановите цель:
systemctl set-default multi-user.target.
- Почему происходит
- Служба с жёсткой зависимостью от базовой цели может остановить загрузку целиком.
- Как проверить
-
Посмотрите упавшие unit после входа в систему.
systemctl --failed --no-pager journalctl -b -p err --no-pager | head -30
- Как исправить
-
Отключите проблемную службу (
systemctl disable), загрузитесь нормально и разбирайтесь уже в рабочей системе.
Пример вывода
Загрузка остановлена: раздел из fstab не найден. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.
systemd[1]: Dependency failed for local-fs.target - Local File Systems.
systemd[1]: emergency.service: Starting requested but asserts failed.
You are in emergency mode. After logging in, type "journalctl -xb" to view
system logs, "systemctl reboot" to reboot, or "exit" to continue bootup.
Give root password for maintenance
(or press Control-D to continue):
Частые вопросы
Как загрузиться, пропустив проблемный раздел?
Добавьте к записи в /etc/fstab параметр nofail, тогда её неудача не остановит загрузку. Разово можно загрузиться с параметром ядра systemd.unit=rescue.target и править систему оттуда.
Связанные ошибки
- Mount process exited, code=exited, status=32: не найдено устройство Монтирование не проходит: устройство или UUID не найдены, неверная файловая система, недоступен сетевой ресурс. Код 32 от команды mount.
- Dependency failed for … и результат 'dependency' Сообщение Dependency failed for: служба не запускалась, потому что упала её зависимость. Как найти настоящего виновника.
- fsck failed: проверка файловой системы остановила загрузку Проверка файловой системы при загрузке завершилась неудачей. Как прочитать причину, запустить проверку вручную и что делать с корневым разделом.
- A start job is running: загрузка висит на одной службе Загрузка останавливается с обратным отсчётом: служба не укладывается в таймаут. Как найти виновника и не ждать.
- Cannot assign requested address при привязке Ошибка 99 при привязке: адрес не принадлежит машине или ещё не поднят. Разбор с network-online.target и ip_nonlocal_bind.
- Temporary failure in name resolution в журнале службы Служба не может разрешить имя: не готова сеть, нет сервера имён, мешает изоляция. Разбор при загрузке и в работе.
- nginx: [emerg] host not found in upstream nginx не запускается: не разрешается имя узла из upstream или proxy_pass. Разбор порядка запуска и работы с именами.
- Машина уходит в аварийный режим из-за одной точки монтирования Недоступный диск при загрузке останавливает всю загрузку: разбор параметра, позволяющего продолжить.
Источники
-
systemd.special(7)
Цели emergency.target и rescue.target, local-fs.target. -
Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
Воспроизведено записью в fstab с неверным UUID без nofail на тестовой машине.