Мой настольный компьютер с Debian Jessie начинал падать в оболочку аварийного режима при каждой загрузке. Экран говорит, чтобы использовать, journalctl -xb
чтобы найти причину, и использовать, systemctl default
чтобы продолжить загрузку. Когда я выполняю systemctl default
, система продолжает загружаться, и после пары недель использования системы, очевидно, нет ничего плохого.
Если смотреть сквозь journalctl -xb
, то ничто не является причиной падения в аварийный снаряд. Есть ли простой способ точно определить причину, по которой он решил перейти в аварийный режим? Существуют ли другие флаги или параметры загрузки, которые позволят понять, где проблема?
debian
systemd
systemd-journald
jordanm
источник
источник
journalctl -xb
когда это произошло?systemd.log_level=debug systemd.log_target=kmsg log_buf_len=1M
для детализации судебного уровня ...Ответы:
Ошибка должна была показать красный цвет
[ FAIL ]
на консоли (вместо[ OK ]
) с описанием устройства рядом с ним. Как правило, первые неудачи являются наиболее важными. Используйте shift + pageup на консоли для прокрутки вверх и просмотра последних нескольких скриншотов вывода. Это может не сработать, если вывод слишком большой.Это работает, даже если вы обычно не видите
[ OK ]
сообщений, например, из-quiet
за командной строки ядра, используемой Debian. При первом сбое systemd переключается в подробный режим.В противном случае вы можете использовать
systemctl
. Без каких-либо опций, он показывает огромный список известных юнитов с отказами, выделенными красным. Чтобы показать только неудачные, используйтеsystemctl --state=failed
илиsystemctl --failed
.Если вы просматриваете файлы модуля, есть только несколько способов вернуться к загрузке
emergency.target
. Обычно происходит.mount
сбой модуля для локальной файловой системы, что приводитlocal-fs.target
к сбою. Или когда ваш initramfs не может смонтировать корневую файловую систему, если ваш initramfs использует systemd.local-fs.target
естьOnFailure=emergency.target
. И это происходит сбой, потому что модули для локальных файловых систем автоматически добавляются в список Требуется local-fs.target (если они не имеютDefaultDependencies=no
).источник
Время от времени я сталкиваюсь с приглашением «режим обслуживания», и мне приходится просматривать журнал Journal на наличие ошибок. Так как journalctl использует меньше как пейджер, вы должны иметь возможность применять любые менее быстрые клавиши для поиска.
Обычно я полагаюсь на функцию поиска (/) и ищу что-либо, эквивалентное «ошибка», «предупреждение» или «сбой». И убедитесь, что -i для принудительного поиска без учета регистра.
Поэтому мои нажатия клавиш выглядят так:
Технически это не исчерпывающий или точный поиск точной проблемы, но я никогда не пропускал проблему загрузки таким образом.
Ниже приведены некоторые связанные с ними сочетания клавиш:
http://www.thegeekstuff.com/2010/02/unix-less-command-10-tips-for-effective-navigation/
источник
systemd
будет регистрировать красные сообщения о сбоях при запуске сервисного модуля или, что более важно, об ошибке при монтировании файловой системы.