GRUB Error: error: file '/boot/vmlinuz...' not found
Linux Bootloader
Ошибка GRUB: file '/boot/vmlinuz...' not found — Как исправить
При включении компьютера GRUB отображает ошибку: error: file '/boot/vmlinuz-6.x.x-generic' not found с последующим сообщением: error: you need to load the kernel first.
| Диагностика | Возможная причина | Решение |
|---|---|---|
Неверный путь в grub.cfg | Удалено старое ядро после apt autoremove | Выбор актуального ядра в Advanced Options |
/boot на отдельном разделе | В конфиге указан /boot/vmlinuz вместо /vmlinuz | Корректировка префикса в GRUB |
| Сбой обновления загрузчика | update-grub не был выполнен после компиляции | Генерация нового конфига через LiveUSB |
- В командной строке GRUB найдите раздел с файлами ядра:
grub> ls grub> ls (hd0,msdos1)/ # или (hd0,gpt2)/ - Укажите корень, вручную задайте ядро и initrd для разовой загрузки:
grub> set root=(hd0,gpt2) grub> linux /boot/vmlinuz-<tab_для_автодополнения> root=/dev/sda2 rw grub> initrd /boot/initrd.img-<tab_для_автодополнения> grub> boot - После успешного входа в систему обновите конфигурацию GRUB:
sudo update-grub sudo grub-install /dev/sda - Если файлы ядер действительно отсутствуют в
/boot, переустановите ядро:sudo apt install --reinstall linux-image-generic linux-headers-generic
Важно: Если
/boot находится на отдельном разделе, путь в командах GRUB указывается как linux /vmlinuz..., а не linux /boot/vmlinuz....
Практический опыт инженера:
Частая причина — неудачное обновление дистрибутива, когда новое ядро установилось, но генерация initramfs прервалась из-за нехватки места на `/boot`.
Частые вопросы (FAQ)
Как выйти из командной строки GRUB в графическое меню?
Выполните команду normal или нажмите ESC, если меню было скрыто.
Почему клавиша TAB не автодополняет имя ядра в GRUB?
Это означает, что переменная 'root' указывает на неверный диск/раздел или файловая система повреждена.