Initramfs Error: dracut-initqueue: timeout, could not boot from root device
Linux / DevOps
Ошибка dracut-initqueue: timeout, could not boot from root device — Решение
При загрузке систем на базе Dracut (RHEL, Rocky Linux, Fedora) процесс зависает на 1-3 минуты и завершается ошибкой: dracut-initqueue: timeout: starting timeout scripts... Could not boot. /dev/root does not exist.
| Диагностический артефакт | Значение | Следствие |
|---|---|---|
/run/initramfs/rdsosreport.txt | Детальный лог Dracut | Содержит точную причину незапуска драйвера/диска |
| Dracut emergency shell | dracut:/# | Корневое блочное устройство не сопоставлено |
Параметр rd.break | Точка останова отладки | Позволяет инспектировать модули до initqueue |
- В Dracut emergency shell изучите системный отчет сбоя:
dracut:/# cat /run/initramfs/rdsosreport.txt | grep -E -i "error|failed|timeout" - Проверьте, загружены ли драйверы дискового контроллера:
dracut:/# lsmod dracut:/# blkid - Если система установлена на программный RAID или LVM, проверьте их сборку:
dracut:/# mdadm --assemble --scan dracut:/# lvm vgchange -ay - После ручного монтирования (
mount /dev/mapper/root /sysroot) выйдите из shell командойexit. - В работающей ОС пересоберите Dracut со всеми системными драйверами (non-hostonly):
sudo dracut -f --no-hostonly
DevOps Note: При установке RHEL/CentOS с USB-флешки эта ошибка возникает, если метка инсталлятора
inst.stage2=hd:LABEL=... не совпадает с реальной меткой флешки. Замените LABEL на /dev/sdb1 в GRUB.
Практический опыт инженера:
Если система использует iSCSI Boot (SAN), убедитесь, что в параметры ядра добавлены `rd.iscsi.firmware=1` и `ip=ibft`, иначе сетевой стек не инициализируется в Dracut.
Частые вопросы (FAQ)
Как передать отчет rdsosreport.txt на другой ПК для анализа?
Смонтируйте любую USB-флешку в dracut shell (mount /dev/sdb1 /mnt) и скопируйте файл командой cp /run/initramfs/rdsosreport.txt /mnt/.
Что означает параметр ядра rd.shell?
Он разрешает сброс в аварийную командную строку Dracut в случае фатальной ошибки загрузки.