CentOS 7: загрузка в dracut emergency shell

Описание

Система не загружается и попадает в dracut (emergency shell):

dracut#

Это означает, что initramfs не смог:

  • смонтировать root filesystem;
  • собрать LVM;
  • получить доступ к устройствам.

Контекст

Типичный сценарий для коробочного Bitrix:

  • перенос системы на новую ВМ или гипервизор;
  • восстановление из образа (dd, snapshot и т.д.);
  • аварийное выключение сервера;
  • изменение железа (контроллеры, диски, сетевые интерфейсы).

В результате:

  • система попадает в dracut;
  • LVM не активируется автоматически;
  • root-раздел не монтируется;
  • файловая система XFS может быть повреждена.

Дополнительно для Bitrix:

  • часто используется LVM с именованием вида centos_bitrix-root;
  • высокая вероятность нагрузки и некорректного завершения транзакций при падении.

⚠️ Риски

Работа с файловой системой и LVM

  • возможна потеря данных при восстановлении XFS;
  • неправильные действия могут привести к полной потере данных;
  • выполнять только при наличии резервной копии.

Диагностика

В dracut:

lvm vgscan
lvm vgchange -ay
lsblk

Если root-раздел не определяется — требуется восстановление из LiveCD.


Решение

1. Загрузка с LiveCD

Рекомендуется использовать:

  • SystemRescue
  • любой Linux с поддержкой LVM и XFS

2. Активация LVM

CentOS 7:

vgchange -ay

CentOS 8/9:

vgchange -ay cs

Проверка:

lsblk

3. Восстановление файловой системы XFS

Раздел /boot:

xfs_repair /dev/sda1

Root-раздел (данные Bitrix):

xfs_repair /dev/mapper/centos_bitrix-root

⚠️ Важно про ключ -L

Ключ -L у xfs_repair:

  • принудительно обнуляет журнал (log);
  • приводит к потере последних изменений;
  • может повредить структуру данных.

Использовать только в крайнем случае, если:

  • обычный xfs_repair не помогает;
  • данные уже частично утрачены;
  • есть резервная копия.

4. Деактивация LVM и перезагрузка

vgchange -an
reboot

5. Загрузка в rescue mode

Выбрать в GRUB:

  • CentOS → Rescue mode

6. Пересборка initramfs

cd /boot

Определить версию ядра:

ls /lib/modules

Пересборка:

dracut -f initramfs-<kernel>.img <kernel>

7. Обновление GRUB

grub2-mkconfig -o /boot/grub2/grub.cfg

8. Перезагрузка

reboot

Ограничения

  • не решает проблемы физического диска;
  • не гарантирует целостность данных;
  • при повреждении LVM metadata может потребоваться отдельное восстановление.

Когда использовать

  • система (в т.ч. Bitrix) загружается в dracut;
  • root не монтируется;
  • LVM не активируется;
  • XFS повреждена после сбоя.