Centos 7 dracut boot recovery

Часто при переносе или клонировании виртуальной машины, можно увидеть при загрузке следующие ошибки:

dracut-initqueue[534]: Warning: Could not boot
dracut-initqueue[534]: Warning: /dev/mapper/root does not exist
Entering emergency mode. Exit the shell to continue.

Проблема заключается в том, что менеджер загрузки не может найти старый UUID диска.

Для решения данный проблемы необходимо обновить конфигурацию загрузки.

Для обновления необходимо:

  • Загрузиться с установочного диска Centos, в режиме восстановления (recovery boot), выбрав соответствующий пункт меню.
  • Просмотреть список ваших разделов. Если используется LVM, то

ls /dev/mapper

Вы должны увидеть примерно следующее:

/dev/mapper/centos-root /dev/mapper/centos-swap

  • Монтируем корневой раздел

mount /dev/mapper/centos-root /mnt/sysimage

  • монтируем системные пути

mount -o bind /dev /mnt/sysimage/dev

mount -o bind /sys /mnt/sysimage/sys

mount -o bind /proc /mnt/sysimage/proc

mount /dev/sda1 /mnt/sysimage/boot

  • переходим в режим chroot и пересоздаем initfamfs для нужной версии ядра

chroot /mnt/sysimage

cd /boot
dracut -f [initramfs-версия ядра.img] [версия ядра]

  • пересобираем конфигурацию загрузки GRUB2

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

  • После этого выходим из chroot и перезагружаемся

exit
shutdown -r now

После перезагрузки виртуальная машина должна загрузиться без ошибок.

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