grub rescue>, оболочка initramfs, Emergency mode и Kernel panic относятся к разным контекстам и требуют разных действий. Универсальной команды восстановления нет: до подтверждения причины не меняйте разметку, RAID, LVM, файловую систему, загрузчик или пакеты ядра.Не перезагружайте удалённый сервер без консоли
Сначала определите этап и фактическую схему загрузки
Типичная, но не обязательная, цепочка загрузки: firmware BIOS или UEFI → загрузчик → ядро Linux и initramfs → раннее пользовательское пространство → основная система с systemd. GRUB — распространённый загрузчик, но не обязательный для всех Linux-конфигураций: встречаются systemd-boot, загрузка через firmware и специализированные схемы.
Как соотнести экран с контекстом сбоя
| Что видно на консоли | Вероятный этап | Что это означает | Первый безопасный шаг |
|---|---|---|---|
grub rescue> или сообщения GRUB о неизвестной файловой системе | Загрузчик | GRUB не нашёл свои модули, конфигурацию или доступный загрузочный раздел | Зафиксировать сообщения, определить BIOS/UEFI и не выполнять запись на диск без проверки схемы установки |
(initramfs) либо аварийная оболочка до монтирования / | Раннее пользовательское пространство | Не подготовлен или не смонтирован постоянный корневой том; реализацию оболочки нужно определить по сообщениям | Прочитать сообщения о корневом устройстве, UUID, драйверах, LVM/RAID и параметре root= |
You are in emergency mode или предложение войти под root | systemd либо ранняя среда с systemd | Система достигла аварийного режима, часто из-за неудачного монтирования или зависимости загрузки | Прочитать указанный журнал и сопоставить ошибку с фактическим /etc/fstab и устройствами |
Kernel panic - not syncing и стек вызовов | Ядро | Ядро аварийно остановилось; это класс ошибок, а не диагноз | Снять полный текст panic, версию ядра и попробовать ранее установленное ядро только через меню загрузки |
Одного слова на экране недостаточно
emergency не всегда означает, что основная ОС уже полностью передала управление systemd, а приглашение оболочки не позволяет по внешнему виду надёжно назвать реализацию initramfs. Ориентируйтесь на полный вывод, имена запущенных компонентов и конфигурацию конкретного дистрибутива Linux.Что сохранить до перезагрузки и изменений
- Фото или текстовый захват всего экрана, начиная с первой ошибки, а не только последней строки.
- Время сбоя, действия н епосредственно перед ним: обновление ядра, изменение
/etc/fstab, перенос дисков, изменение параметров firmware, аварийное выключение. - Режим загрузки BIOS или UEFI, модель виртуальной машины или сервера, способ подключения системного диска и наличие аппаратного RAID, программного RAID или LVM.
- Название выбранной записи загрузчика, версию ядра на экране и параметры командной строки ядра, если они видны.
- Сведения о последней успешной загрузке: версия ядра, работоспособная запись меню, доступный снимок или резервная копия и способ возврата к ней.
- Сообщения о UUID, именах устройств, томах, ошибках ввода-вывода, RAID, LVM и файловой системе.
Когда нужно остановиться
Ветка GRUB rescue: что проверить и как выбрать восстановление
grub rescue> обычно означает, что GRUB не смог найти нужные модули, свой каталог или конфигурацию, либо не может прочитать загрузочный раздел. Это не доказывает повреждение всей ОС. Причина и способ восстановления зависят как минимум от BIOS или UEFI, разметки, места установки GRUB, используемого загрузчика и выпуска дистрибутива.
Диагностика при приглашении grub rescue
Цель — подтвердить схему загрузки и не записывать изменения до понимания, где находится загрузчик.
- 1Зафиксируйте точное сообщениеСохраните строки до приглашения
grub rescue>, включаяunknown filesystem,file not found,no such partitionи имя устройства. Они указывают, что именно не удалось найти или прочитать. - 2Установите режим BIOS или UEFIПроверьте настройку виртуальной машины либо firmware сервера и сопоставьте её с исходной схемой установки. В UEFI нужна EFI System Partition (ESP) с файлами загрузчика; в BIOS загрузочные компоненты размещаются иначе. Нельзя применять команды установки GRUB для BIOS к UEFI-системе как универсальный рецепт.
- 3Загрузите документированную rescue/live-среду того же семействаПри необходимости используйте установочный или rescue-носитель, соответствующий архитектуре и, по возможности, тому же выпуску ОС. До
chrootподтвердите, какие разделы являются корнем,/bootи ESP, и что они принадлежат именно целевой системе. - 4Выберите действие по подтверждённой причинеЕсли повреждена конфигурация — сгенерируйте её штатной утилитой целевого дистрибутива. Если отсутствуют файлы загрузчика — следуйте документу дистрибутива именно для BIOS или UEFI. Если носитель не читается или схема томов не подтверждена, остановитесь без переустановки загрузчика.
Вендорские меню firmware, пункты boot manager, названия записей GRUB, кнопки remote console и статусы контроллера отличаются по модели, поколению и версии firmware или утилиты. Для изменения порядка загрузки и работы с носителями сверяйтесь с официальным руководством производителя сервера или гипервизора; не переносите путь меню из другого поколения оборудования.
Примеры штатных утилит, привязанные к выпуску ОС
Команды выполняют только после монтирования подтверждённой установленной системы в rescue-среде и входа в её окружение, если это требуется документацией.
| Система и релиз | Штатное действие | Ограничение |
|---|---|---|
| Ubuntu Server 22.04 LTS | update-grub генерирует конфигурацию GRUB; grub-install применяется по инструкции Ubuntu с учётом BIOS или UEFI | Для UEFI необходимо корректно смонтировать ESP; параметры и целевой путь нельзя угадывать |
| Debian 12 | update-grub обновляет конфигурацию GRUB; восстановление через grub-install зависит от режима загрузки | Перед установкой подтвердите корневой раздел, отдельный /boot и ESP, если она используется |
| Red Hat Enterprise Linux 9 | grub2-mkconfig -o /boot/grub2/grub.cfg создаёт конфигурацию GRUB по документации RHEL | В UEFI RHEL документирует восстановление EFI-пакетов и ESP отдельно; не подменяйте его универсальным grub2-install |
Генерация конфигурации не исправляет любую проблему
Initramfs и emergency mode: где искать причину
Попадание в оболочку initramfs или emergency mode не означает автоматически, что ОС «сломана». Частые причины: недоступен корневой том, не совпадает UUID в параметре root= или /etc/fstab, отсутствует устройство из обязательной точки монтирования, не загрузился нужный драйвер, либо последствия незавершённого обновления. Конкретную причину устанавливают по сообщениям загрузки, журналу, доступному в этой среде, и реальной конфигурации дисков и монтирования.
systemd target emergency.target запускает минимальную аварийную среду и консоль администратора. rescue.target предоставляет более полную однопользовательскую среду и обычно подтягивает базовые системные компоненты. Точный набор смонтированных файловых систем, доступных команд и журналов зависит от версии systemd, initramfs и конфигурации системы.
Проблема
Система остановилась в initramfs или emergency mode
Возможные причины
- Неверный UUID или путь к устройству в конфигурации монтирования
- Недоступный накопитель, RAID или LVM
- Отсутствующий драйвер либо некорректный initramfs
- Прерванное обновление ядра, initramfs или конфигурации
Решение
Сначала сопоставьте текст ошибки с конкретным устройством и записью конфигурации. Если устройство видно и причина — подтверждённая ошибочная запись монтирования, исправьте только эту запись с сохранен ием исходной копии. Если проблема связана с RAID, LVM, вводом-выводом или целостностью файловой системы, не переходите к ремонту в этой статье: остановитесь и используйте профильную процедуру.
Как избежать
После изменения конфигурации монтирования проверяйте её в контролируемом окне, а после обновления ядра сохраняйте доступ к предыдущей записи загрузки.
Минимальные обратимые действия в initramfs и emergency mode
- 1Прочитайте первичную ошибкуИщите имя устройства, UUID, точку монтирования, параметр
root=и сообщения о драйвере. Не начинайте сfsck, пересборки initramfs или редактирования/etc/fstab, пока не установлена связь ошибки с конкретным объектом. - 2Проверьте, доступна ли конфигурация установленной системыЕсли корневая файловая система доступна в режиме только для чтения, сравните затронутую запись с фактическими идентификаторами устройств, не меняя остальные строки. В emergency mode systemd обычно выводит, какой unit или mount не запустился.
- 3Проверьте подтверждённый параметр на одну загрузкуЕсли доказано, что причина заключается в конкретном параметре командной строки ядра, например ошибочном
root=, зафиксируйте исходную строку и временно отредактируйте только этот параметр в меню фактически установленного загрузчика. Такое изменение не записывайте в постоянную конфигурацию: интерфейс редактирования и однократность применения зависят от загрузчика и его настроек. - 4Исправьте только подтверждённую настройкуДопустимо временно убрать ошибочную необязательную точку монтирования из загрузки или вернуть сохранённое корректное значение UUID, если причина доказана. Сохраните копию изменяемого файла и предусмотрите откат до перезагрузки.
- 5Восстановите initramfs только для подтверждённой проблемыЕсли журналы и история изменений указывают на отсутствующие или некорректные файлы initramfs после обновления, используйте штатную утилиту именно вашего выпуска ОС. Не применяйте команды APT к RPM-системам или команды dracut к системе, где используется другой механизм, без документации.
# Текущая заг рузка: доступно, если systemd и journalctl уже работают
journalctl -b
# Ошибки текущей загрузки: при наличии соответствующих записей
journalctl -b -p err..alert
# Предыдущая загрузка: работает только если записи сохранены
journalctl -b -1
# Версия запущенного ядра
uname -rjournalctl с -b отбирает записи текущей загрузки, а -b -1 — предыдущей. Предыдущая загрузка доступна не на каждом сервере: journal может храниться только в памяти, а ранний сбой мог произойти до записи нужных сообщений. Подробный разбор настройки журналов — в статье «Журналы Linux: journalctl, rsyslog и logrotate».
Пересборка initramfs после подтверждённого сбоя обновления
Следующие команды — не первичная диагностика и не средство ремонта храни лища. Они уместны только после загрузки в документированную rescue-среду или ранее работавшее ядро, когда подтверждено, что проблема относится к initramfs, а тома и конфигурация системы доступны.
| Система и релиз | Штатная утилита | Пример ограниченного действия |
|---|---|---|
| Ubuntu Server 22.04 LTS | initramfs-tools | update-initramfs -u -k all обновляет существующие образы initramfs |
| Debian 12 | initramfs-tools | update-initramfs -u -k all обновляет существующие образы initramfs |
| Red Hat Enterprise Linux 9 | dracut | dracut --force --regenerate-all пересоздаёт initramfs для установленных ядер |
Ошибка пакетной транзакции требует отдельной диагностики
Kernel panic: собрать данные и безопасно выбрать предыдущее ядро
Kernel panic — аварийная остановка ядра, когда оно не может безопасно продолжать работу. Причина не обязательно в самом ядре: panic может быть связан с параметрами загрузки, недоступным корневым устройством, драйвером, внешним модулем, аппаратной ошибкой или изменением окружения. Для эскалации нужны полный текст panic и стек вызовов, версия загружаемого ядра, параметры командной строки, время сбоя, последние изменения и результат попытки загрузить другое установленное ядро.
Как проверить предыдущее установленное ядро без отката всей системы
- 1Зафиксируйте panicСнимите экран целиком: первые строки panic часто важнее последнего фрагмента стека. Запишите версию ядра, если она выведена, и выбранную запись меню.
- 2Откройте меню загрузчикаПри следующей попытке загрузки используйте меню реально установленного загрузчика. В GRUB прежнее ядро часто находится в разделе с дополнительными вариантами, но название и наличие раздела зависят от конфигурации.
- 3Выберите ранее установленное ядро для проверкиОбычный интерактивный выбор другой записи в меню действует на текущую попытку загрузки, но конфигурация с
savedefaultили аналогичным механизмом может сохранить выбранный вариант. Такой выбор не откатывает пакеты, конфигурацию, данные приложений или всю транзакцию обновления. До следующей перезагрузки проверьте, какое ядро выбрано по умолчанию. - 4После успешного старта зафиксируйте результатЗапишите
uname -r, проверьте ошибки текущей загрузки и только затем решайте, требуется ли восстановление пакета ядра, initramfs или конфигурации. Не удаляйте неудачное ядро до подтверждения причины и наличия рабочего варианта.
В Ubuntu Server 22.04 LTS, Debian 12 и RHEL 9 выбор ранее установленного ядра обычно выполняют через меню загрузчика; конкретный интерфейс зависит от GRUB, firmware и локальной конфигурации. Механизмы сохранённой записи GRUB, включая grub-set-default, применимы только если конфигурация поддерживает сохранённый выбор. Не изменяйте значение по умолчанию, пока не проверены доступные записи и не понятен способ вернуть прежнее значение.
Проверки после успешной загрузки
- Зафиксируйте версию фактически запущенного ядра:
uname -r. Не путайте её с версией установленного пакета или выпуском ОС. - Проверьте идентификацию ОС в
/etc/os-release, если нужно сопоставить дальнейшие инструкции с конкретным выпуском. - Просмотрите ошибки текущей загрузки через
journalctl -b -p err..alert; отсутствие записей не является абсолютным доказательством отсутствия проблемы. - Если журнал хранит предыдущие загрузки, сопоставьте текущий запуск с
journalctl -b -1и сохранённым текстом исходной ошибки. - Проверьте состояние только необходимых служб через systemctl и прикладные к ритерии работоспособности. Диагностика службы, которая не запускается уже после успешной загрузки ОС, описана в статье «Служба systemd не запускается: диагностика ошибок и восстановление».
- Устраните первопричину: неверную запись монтирования, сбойный пакет, несовместимый модуль, ошибочный параметр загрузки или проблему хранилища. Появление приглашения оболочки само по себе не подтверждает восстановление сервера.
uname -rjournalctl -b -p err..alertСбой после обновления ядра
Термины в статье
- Аппаратный RAID
- Реализация RAID, в которой специализированный контроллер формирует логические диски и выполняет операции массива. Наличие и защита кэша зависят от модели.
- Виртуальная машина
- Изолированная вычислительная среда с виртуальными процессорами, памятью, дисками и сетевыми адаптерами, в которой под управлением гипервизора работает гостевая ОС.
- Гипервизор
- Программный слой, который абстрагирует ресурсы физического хоста, выполняет виртуальные машины и управляет ими.
- Деградирова нный режим
- Состояние отказоустойчивого RAID-массива, потерявшего часть избыточности, но сохраняющего доступ, пока сочетание отказов допустимо для его уровня и раскладки.
- Дистрибутив Linux
- Дистрибутив Linux — готовая операционная система на базе ядра Linux, включающая набор программ, репозитории, пакетный менеджер и правила обновления и сопровождения.
- Менеджер пакетов
- Менеджер пакетов — средство установки, обновления, удаления и учёта программных пакетов; высокоуровневые менеджеры также работают с репозиториями и разрешают зависимости.
- Пакетная транзакция
- Пакетная транзакция — согласованный набор действий по установке, обновлению, удалению и настройке пакетов, формируемый менеджером пакетов в рамках одной команды или задания.
- Программный RAID
- RAID, реализованный ОС или другим программным стеком хоста без отдельного аппаратного RAID-контроллера. Использует вычислительные ресурсы сервера.
- Системная служба
- Системная служба — программный компонент, которым ОС управляет как логической единицей для фонового выполнения задач или предоставления функций программам и пользователям.
- Снимок состояния
- Зафиксированное гипервизором состояние поддерживаемых виртуальных дисков и конфигурации ВМ на определённый момент, иногда также памяти, к которому можно выполнить откат.
- Ядро Linux
- Ядро Linux — центральный компонент ОС, управляющий аппаратными ресурсами и предоставляющий системные интерфейсы; оно не включает пользовательские утилиты и менеджер пакетов.
- APT
- APT — система управления пакетами в Debian-подобных Linux, которая получает пакеты из репозиториев, разрешает зависимости и передаёт установку низкоуровневому менеджеру dpkg.
- Debian
- Debian — универсальный дистрибутив Linux с пакетами DEB и системой APT, известный консервативной веткой Stable и разделением репозиториев по веткам разработки.
- Emergency mode
- Emergency mode — аварийный режим systemd с минимальным окружением и консолью администратора, без обычных служб и автоматического монтирования остальных локальных файловых систем.
- GRUB
- GRUB — загрузчик операционных систем, который после BIOS или UEFI выбирает пункт своего меню, передаёт ядру Linux параметры и обычно загружает initramfs.
- initramfs
- initramfs — временная корневая файловая система в памяти, разворачиваемая ядром Linux для загрузки модулей и подготовки хранилища перед монтированием постоянной корневой файловой системы.
- journalctl
- journalctl — консольная утилита чтения и фильтрации журнала systemd, выводящая сообщения по времени, юниту, загрузке системы, приоритету и другим полям.
- Kernel panic
- Kernel panic — неустранимая ошибка ядра операционной системы, при которой оно прекращает штатное выполнение, поскольку не может безопасно продолжать работу.
- Linux-сервер
- Linux-сервер — серверная система под управлением Linux, предоставляющая сетевые, вычислительные или инфраструктурные сервисы и администрируемая средствами ОС.
- LTS
- LTS — модель выпуска ПО с продлённым периодом сопровождения, в котором исправления безопасности и критических ошибок поставляются дольше обычного релиза.
- RAID
- Технология объединения нескольких накопителей в логические блочные устройства для повышения производительности и/или отказоустойчивости в зависимости от RAID-уровня.
- RHEL
- RHEL — корпоративный дистрибутив Linux от Red Hat с фиксированными основными версиями, сертификационной экосистемой и моделью сопровождения, зависящей от подписки.
- SSH
- SSH — криптографический сетевой протокол для удалённого доступа и передачи данных, аутентифицирующий стороны и защищающий сеанс от перехвата.
- systemctl
- systemctl — командная утилита управления systemd, которая запускает и останавливает юниты, показывает их состояние и настраивает автоматическую активацию.
- systemd
- systemd — система инициализации и менеджер служб Linux, управляющий службами и другими ресурсами как объектами unit, обычно описанными unit-файлами.
- systemd target
- systemd target — unit типа target, группирующий другие units и служащий точкой синхронизации при загрузке или изменении состояния системы.
- Ubuntu Server
- Ubuntu Server — серверный вариант дистрибутива Ubuntu на базе Debian с APT и типовыми средствами автоматизации, доступный в виде установочных и готовых образов.
