Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
unknown-block(0,0) Linux / DevOps

Kernel panic: VFS: Unable to mount root fs on unknown-block(0,0) — Решение ошибки Linux

Обновлено: 18.08.2026  ·  Официальная база знаний

Архитектура ошибки и симптомы сбоя

Критический сбой «Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)» возникает на раннем этапе загрузки операционной системы. Ошибка сигнализирует о том, что ядро Linux успешно распаковано и запущено, однако Virtual File System (VFS) не смогла обнаружить, инициализировать или смонтировать корневую файловую систему (root fs). В результате процесс инициализации (PID 1 / systemd) не может быть запущен, и ядро уходит в аварийную остановку (Panic).

Диагностическая таблица параметров сбоя

ПараметрЗначениеИнженерный смысл сбоя
VFSVirtual File SystemПодсистема ядра, отвечающая за абстракцию и монтирование файловых систем.
unknown-block(0,0)Major/Minor Device Number (0,0)Ядро не сопоставило целевой диск ни с одним известным блочным устройством (драйвер контроллера не загружен).
root=CLI ParameterПараметр загрузчика GRUB, передающий ядру UUID или путь к корневому разделу.
initramfs / initrdInitial RAM DiskВременная файловая система в ОЗУ с необходимыми модулями ядра (AHCI, NVMe, LVM, ext4).

Пошаговое дерево решений и сценарии траблшутинга

Сценарий 1: Быстрый откат на предыдущее стабильное ядро в GRUB

Если сбой возник после регулярного обновления пакетов (apt upgrade / dnf update), рабочее ядро сохранено в системе:

  1. Перезагрузите сервер и удерживайте клавишу Shift (BIOS) или нажимайте Esc (UEFI) для вызова меню GRUB.
  2. Перейдите в пункт «Advanced options for Ubuntu / Debian / AlmaLinux».
  3. Выберите предыдущую версию ядра (например, с более низким индексом сборки) и выполните загрузку.

Сценарий 2: Аварийное восстановление через Rescue Mode / LiveCD (Chroot)

Если GRUB недоступен или старые ядра удалены, загрузитесь в LiveCD / Rescue-окружение провайдера:

# 1. Поиск разделов диска
lsblk -f

# 2. Монтирование корневой ФС (замените /dev/sda2 на ваш раздел)
sudo mount /dev/sda2 /mnt
# Если /boot находится на отдельном разделе:
sudo mount /dev/sda1 /mnt/boot

# 3. Биндинг системных псевдодиректорий и переход в chroot
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt

Сценарий 3: Очистка переполненного /boot и пересборка initramfs

Основная причина повреждения initramfs — 100% заполнение раздела /boot во время автообновлений:

# Проверка свободного места
df -h /boot

# Очистка старых ядер в Ubuntu/Debian:
apt-get autoremove --purge -y

# Перегенерация initramfs и обновление конфига GRUB:
# Для Debian / Ubuntu:
update-initramfs -u -k all
update-grub

# Для RHEL / CentOS / Rocky Linux / AlmaLinux:
dracut --regenerate-all --force
grub2-mkconfig -o /boot/grub2/grub.cfg

# Выход из chroot и перезагрузка:
exit
sudo umount -R /mnt
sudo reboot

Типовые ошибки системных администраторов

  • Несоответствие UUID в fstab и GRUB: После клонирования или миграции VDS изменяются UUID дисков. Всегда сверяйте вывод команды blkid со значениями в файле /etc/fstab и параметром root=UUID=....
  • Отсутствие драйверов LVM/RAID в initramfs: При переходе на аппаратный или программный RAID модули ядра могут отсутствовать в базовом образе initrd.
Упал критически важный B2B-сервер или база данных?
Попытки неквалифицированного восстановления разделов могут привести к безвозвратной потере данных. Передайте задачу системным инженерам ITSTM: восстановим загрузку Linux, развернем отказоустойчивый кластер и настроим автоматические снапшоты.
Практический опыт инженера: При разметке дисков под Linux в enterprise-сегменте всегда выделяйте под раздел /boot не менее 1.5–2 ГБ и настраивайте лимит хранения старых ядер в /etc/apt/apt.conf.d/01autoremove-kernels или dnf.conf (параметр installonly_limit=2).

Частые вопросы (FAQ)

Что конкретно означает код unknown-block(0,0)?

В архитектуре Linux каждое блочное устройство идентифицируется парой чисел major:minor. Значение (0,0) указывает на то, что ядро не смогло привязать переданный параметр root= ни к одному из обнаруженных дисков, так как модуль контроллера накопителя не был загружен.

Как временно отредактировать параметры загрузки в самом меню GRUB?

В меню выбора GRUB нажмите клавишу 'e', найдите строку, начинающуюся с 'linux', и временно замените параметр root=UUID=... на прямое указание раздела (например, root=/dev/sda2 rw). После этого нажмите F10 или Ctrl+X для загрузки.

Почему переполняется раздел /boot на production-серверах?

Многие дистрибутивы (особенно Ubuntu/Debian) при регулярной установке security-патчей загружают новые версии ядра, не удаляя старые образы автоматически. Если под /boot выделено менее 1 ГБ, раздел быстро заполняется до 100%.

Поможет ли переустановка GRUB без пересборки initramfs?

Нет. GRUB отвечает только за передачу управления ядру и initramfs. Если сам файл initramfs поврежден или отсутствует, переустановка загрузчика (grub-install) проблему Kernel Panic не решит.