#Что означает ошибка
Загружается не последнее ядро после dnf update
После dnf update система загружает старое ядро, а новое появилось в списке GRUB, но не выбрано по умолчанию. В Rocky Linux (как и в RHEL) загрузчик использует BLS-записи в /boot/loader/entries/ и сохранённый выбор (saved_entry), а не обязательно самое новое ядро.
Это нормальное поведение при ручной фиксации выбора.
Установить по умолчанию новое ядро можно командой grubby.
Загрузка идёт с сохранённой записи GRUB. Установите по умолчанию новое ядро командой grubby или пересоберите конфигурацию.
#Причины и решения
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Старое ядро по умолчанию | Сохранено. | grubby --set-default. |
| Не обновлён GRUB | Конфиг. | grub2-mkconfig. |
| UEFI | Путь. | Проверьте. |
| Мало места /boot | Ошибка. | Удалите старые. |
#Пошаговое решение
- Проверьте текущее и установленные ядраВ Rocky Linux откройте терминал и выполните
uname -r— это версия запущенного ядра; затемrpm -q kernel-core— список установленных версий. Командаsudo grubby --default-kernelпоказывает выбранное по умолчанию ядро, еслиgrubbyустановлен. Сравните эти результаты с файлами в/bootи свободным местом (df -h /boot); не запускайтеgrub2-installили перезапись EFI, пока не доказано, что проблема именно в загрузчике. - Посмотрите default-kernelНа Rocky Linux в терминале выполните
sudo grubby --default-kernelиsudo grubby --info=ALL, затемuname -r. Сравните путь к ядру по умолчанию с реально загруженным и найдите нужную версию среди установленных пакетовrpm -q kernel-core. Если файл ядра отсутствует, сначала восстановите пакет и проверьте свободное место в/boot; не меняйтеgrub.cfgвручную без необходимости. - Установите нужное ядро по умолчаниюВ Rocky Linux выполните
rpm -q kernelиsudo grubby --info=ALL; сверьте существующие путиkernel=/boot/vmlinuz-.... Сохраните текущий default изgrubby --default-kernel. Только если новое ядро действительно установлено и файл существует, выполнитеsudo grubby --set-default /boot/vmlinuz-РЕАЛЬНАЯ_ВЕРСИЯ, подставив путь из вывода. Не вводите слово РЕАЛЬНАЯ_ВЕРСИЯ буквально. - Проверьте место в /bootВ терминале выполните
df -hи посмотрите столбцы «Использовано» и «Доступно» на разделе с программой или данными. Не удаляйте неизвестные системные каталоги; сначала выясните, какие файлы занимают место. - Пересоберите GRUB при необходимостиНа Rocky Linux с BLS (обычно версия 8/9) выбор ядра удобнее проверять через
grubby, а не пересобирать GRUB после каждого обновления. Пересозданиеgrub.cfgтребуется только при подтверждённом повреждении конфигурации и зависит от UEFI/BIOS и версии ОС. Перед вмешательством сохраните текущий файл, выполнитеlsblk -fи уточните путь загрузчика на конкретном компьютере. Не используйте наугад пути старых CentOS или командуgrub2-installпо примерному диску. - Убедитесь, что новая запись действительно загрузиласьПосле изменения default через grubby перезагрузите компьютер в доступное окно обслуживания и выполните
uname -rиgrubby --default-kernel. Если загрузилось прежнее ядро, не удаляйте его: сохранитеgrubby --info=ALL, журнал загрузки и проверьте, не заблокирован ли новый модуль драйвером или Secure Boot. - Не устанавливать ядро с подставным путём: предварительно проверить реальные файлы ядерLinux · Терминал (Bash)КомандаНужен sudoНе устанавливать ядро с подставным путём: предварительно проверить реальные файлы ядер. Запуск: терминал Linux с правами, указанными в команде. Сначала проверьте имя устройства и целевой путь.
sudo grubby --info=ALL
#Диагностика
Проверьте текущее и установленные ядра: uname -r, rpm -q kernel, sudo grubby --default-kernel, sudo grubby --info=ALL | grep -E "^(index|kernel|title)". Если default-kernel указывает на старое, а новое есть в списке — достаточно сменить умолчание. Проверьте, что /boot не заполнен: df -h /boot (нехватка места приводит к неполной установке ядра).
#Выбор нового ядра
Установите по умолчанию последнее: sudo grubby --set-default /boot/vmlinuz-5.14.0-xxx.el9_x.x86_64 (укажите точное имя из ls /boot/vmlinuz-*). Или по индексу: sudo grubby --set-default-index=0. Для интерактивной проверки при перезагрузке выберите запись в меню GRUB. Параметр GRUB_DEFAULT=saved в /etc/default/grub оставляет прежний выбор; для «всегда самое новое» подойдёт GRUB_DEFAULT=0.
#Пересборка конфигурации
Если записей нет или меню пустое, пересоберите: BIOS — sudo grub2-mkconfig -o /boot/grub2/grub.cfg; UEFI — sudo grub2-mkconfig -o /boot/grub2/grub.cfg (в современных EL9 используется общий путь /boot/grub2/grub.cfg). Проверьте dnf install kernel-core и целостность initramfs: sudo dracut -f /boot/initramfs-$(uname -r).img $(uname -r) для нужной версии. Удалите лишние ядра: sudo dnf remove --oldinstallonly --setopt installonly_limit=2 kernel.