Kernel Panic: Unable to mount root fs — загрузка со старого ядра Linux
Признаки и проявление ошибки Kernel Panic
При включении или перезагрузке сервера загрузка операционной системы Linux внезапно останавливается черным экраном с непрерывным миганием индикаторов Caps Lock/Scroll Lock на клавиатуре. На экран выводится критический отчет аварии ядра:
[ 1.234567] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 1.234890] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.15.0-88-generic #98-Ubuntu
[ 1.235120] Call Trace:
[ 1.235300] dump_stack_lvl+0x45/0x59
[ 1.235500] panic+0x102/0x2cf
[ 1.235700] mount_block_root+0x144/0x1e3
[ 1.235900] mount_root+0x38/0x58
[ 1.236100] prepare_namespace+0x13f/0x16b
[ 1.236300] kernel_init_freeable+0x18a/0x1b1
[ 1.236500] kernel_init+0x16/0x130
[ 1.236700] ret_from_fork+0x1f/0x30Таблица основных причин сбоя:
| Причина сбоя | Почему это происходит | Как устраняется |
|---|---|---|
| Поврежден initramfs | Прервалось обновление ядра через apt upgrade | Перегенерация образа через update-initramfs |
| Переполнение раздела /boot | Старые ядра заняли 100% места, новый образ записался с ошибкой | Очистка неиспользуемых ядер через apt autoremove |
| Неверный UUID диска | Изменился файл fstab или конфигурация дискового массива | Восстановление загрузчика GRUB |
Пошаговое руководство: как запустить сервер со старого ядра и исправить проблему
Важно для новичков: Сервер не «умер». Предыдущая рабочая версия ядра Linux осталась на диске. Нам нужно просто запустить систему с нее и починить поврежденные файлы.
Шаг 1. Открываем загрузочное меню GRUB
Перезагрузите сервер. Если вы настраиваете виртуальный сервер (VIPS/VDS), откройте окно VNC-консоли в личном кабинете хостинга. При старте зажмите и удерживайте клавишу Shift (для BIOS) или нажимайте клавишу Esc (для UEFI), пока не появится синее меню GRUB.
Шаг 2. Выбираем предыдущую версию ядра
В меню GRUB выберите пункт Advanced options for Ubuntu (Дополнительные параметры для Ubuntu) и нажмите Enter.
Перед вами появится список ядер. Выберите второе по счету ядро со старым номером версии (например, Ubuntu, with Linux 5.15.0-84-generic) без приписки (recovery mode) и нажмите Enter. Сервер успешно запустится в штатном режиме.
Шаг 3. Восстанавливаем поврежденный образ initramfs
После входа в систему под своим пользователем откройте терминал и выполните команды исправления:
# Обновляем структуру загрузочных образов для всех установленных ядер: sudo update-initramfs -u -k all # Обновляем конфигурационный файл меню GRUB: sudo update-grubШаг 4. Очищаем место и удаляем сломанное ядро
Если диск был забит или ядро не до конца установилось, удалите поврежденные хвосты:
sudo apt-get install -f sudo apt autoremove --purge -y sudo apt update && sudo apt upgrade -y
Частые вопросы (FAQ)
Что означает фраза «VFS: Unable to mount root fs» простыми словами?
Она означает, что ядро Linux запустилось, но не смогло прочитать и смонтировать корневую файловую систему (диск с файлами ОС). Чаще всего это происходит из-за того, что загрузочный образ initramfs не содержит нужных драйверов для диска или был поврежден при записи.
Удалятся ли мои сайты и базы данных при этой ошибке?
Нет, все ваши файлы, базы данных и конфигурации находятся в полной сохранности на жестком диске. Проблема затрагивает исключительно процесс первичного старта ядра.
Как зайти в GRUB, если сервер арендован у хостинга?
Большинство хостинг-провайдеров предоставляют VNC или KVM консоль в панели управления сервером. Откройте эту веб-консоль, отправьте команду Ctrl+Alt+Del через интерфейс и сразу нажимайте клавишу Esc.
Как сделать так, чтобы старое ядро загружалось всегда по умолчанию?
Для этого отредактируйте файл /etc/default/grub, установив параметр GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-84-generic", после чего сохраните файл и выполните команду sudo update-grub.