zaLinux.ru

Как определить, почему Linux загружается в Emergency mode


Как определить точную причину, почему Systemd входит в emergency mode

Система Linux при возникновении проблем во время загрузки может переходить в оболочку emergency mode (аварийный режим).

Экран предлагает выполнить команду

journalctl -xb

для поиска причин неполадок в системе.

Также предлагается выполнить

systemctl default

или

exit

чтобы система попыталась загрузиться в нормальном режиме.

Вы можете попробовать ввести systemctl default — иногда это действительно помогает, но иногда требуется разрешить проблему, которая стала причиной Emergency mode.

Вывод journalctl -xb довольно обширный и его изучение без фильтров не всегда даёт подсказку, почему выбрасывает в аварийную оболочку. Рассмотрим способы, которые могут помочь отыскать проблему.

1. Поиск проблем с монтированием

Причин, по которой система переходит в Emergency mode не так уж много, обычно это проблемы с монтированием дисков и разделов. Посмотрите, что вам скажут следующие команды?

systemctl status local-fs.target
journalctl -xb | grep -i -E 'local-fs.target'

2. Поиск ошибок

Что необычного показывает journalctl -xb? Попробуйте поискать сообщения, связанные с монтированием и ошибками — возможно, там есть ответ.


journalctl -xb | grep -i mount
journalctl -xb | grep -i -E '(error|fail|warn|\(EE\))'

3. Неудачный запуск fsck

Проверьте записи, связанные с fsck:

journalctl -xb | grep -i -E 'fsck'
systemctl status systemd-fsck*

4. Неудачный запуск любых служб

Следующие команды (они идентичны) выведут список служб, которые не удалось запустить:

systemctl --state=failed
systemctl --failed

5. Поиск по журналу в Emergency mode и Maintenance mode

Вы можете выполнять поиск ошибок по журналу journald без использования команд — возможно, вам это будет удобнее. Поскольку journalctl использует для многостраничного просмотра команду less, то вы можете применять все сочетания клавиш этой утилиты для ваших поисков.

Выведете журнал:

journalctl -xb

Если вы полагаетесь на функцию поиска (/) и ищите что-то вроде "error", "warning" или "fail", то с помощью -i убедитесь, что выполняется поиск без учёта регистра букв.

Список команд и клавиш для поиска по journalctl (и в целом по less):

  • -i (без учёта регистра)
  • g (перейти к началу)
  • /error (найти «error»)
  • nnnn (пропустить nnnn результатов)
  • g (перейти к началу)
  • /fail (найти «fail»)
  • nnnn (пропустить nnnn результатов)
  • g (перейти к началу)
  • /warn (найти «warn»)
  • nnnn (пропустить nnnn результатов)

Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *