В своей работе мне приходилось неоднократно сталкиваться с проблемой загрузки Linux в аварийном режиме с ошибкой Welcome to emergency mode. Чаще всего проблема возникает при аварийном отключении питания на сервере, при краше системы или других подобных воздействиях. В 90% случаев это ошибка связана с повреждением файловой системы Linux, которую можно решить.
В данной статье мы рассмотрим варианты решения подобной проблемы, их может быть несколько.
Исправляем ошибки файловой системы с помощью LiveCD
Рассмотрим пример, когда у вас был какой-то сбой на сервере, например, аварийное отключение питания и при загрузке Linux сервера в remote console или vnc, вы видите следующую картину:
Welcome to emergency mode! After logging in, type “journalctl -xb” to view system logs, “systemctl reboot” to reboot, “systemctl default” or ^D to try again boot into default mode. Give root password for maintained (or press Control-D to continue).
Если нажать сочетание клавиш Control + D, то начинается загрузка системы, но в конечном итоге все возвращается к тому же Emergency mode:
Чтобы решить данную проблему, вам нужно загрузиться на сервере с LiveCD или LiveUSB и использовать утилиту SystemRescueCd. Я загрузил образ с утилитой systemrescuecd:
Теперь запустите проверку файловой системы сервера с исправлением всех найденных ошибок с помощью команды:
# fsck -y /dev/sda1
— где sda1 ваш раздел диска.
Проверку нужно выполнить со всеми разделами, после чего выполнить рестарт системы и в большинстве случаев, это решает вашу проблему.
Проблема с монтирование в fstab
Второй вариант, который может случиться, это повреждение или некорректная конфигурация файла fstab. В моем случае, при загрузке с systemrescuecd и проверки системы, проблем не было обнаружено и это не помогло. Но при открытии fstab я увидел, в конфигурации нет разделов диска для монтирования, а есть только запись о загрузочном диске:
Чтобы решить вопрос, нужно получить UUID ваших дисков через утилиту blkid:
После этого нужно все данные в fstab, сохранить и перезапустить сервер, если все сделали правильно, то сервер запуститься в обычном режиме.
Linux установлен с USB флешки
Так же в работе были моменты, когда установкуLinux производили с установочного флеш-накопителя и после рестарта сервера, ОС загружалась с ошибкой “Welcome to emergency mode!“. При проверке fstab было обнаружено, что этот флеш-накопитель был прописан в fstab как рабочий раздел. В таком случае помогает удаление строки с монтированием и перезапуск системы. Как и в первом случае, вам нужно загрузиться с systemrescuecd и открыть fstab. Скорее всего вы сразу увидите, что там есть подобный раздел — /mnt/usb1:
Просто удалите данную строку, если вы теперь не используете флеш-накопитель.
Dualboot конфигурация Windows и Linux
Еще один из вариантов проблемы, замеченный пользователями — это параллельное использование Windows и СentOS на одном компьютере. При загрузке часто возникает ошибка emergency mode при монтировании разделов Windows. Обычное решение проблемы заключается в отключении быстрого запуска Windows.
Чтобы отключить быстрый запуск, перейдите в меню Электропитание -> Системные параметры и выбрать пункт «Изменение параметров, которые сейчас недоступн».
Снимите галочку в блоке «Включить быстрый запуск».
Сохраните изменения и перезапустите ваш сервер. После выполненных рекомендаций, CentOS должен запуститься.
Если вы используете LVM разделы, данная ошибка так же может появиться, в целом решение проблемы схоже с обычным разделом, нужно проверить fstab и исправить ошибки, допущенные в нем.