Установлено новое ядро, но оно недоступно для загрузки через grub.

Вопрос или проблема

Я установил Fedora 24 и обновил ядро.

$rpm -qa kernel

kernel-4.6.4-301.fc24.x86_64
kernel-4.5.5-300.fc24.x86_64

Итак, kernel-4.6.4-301.fc24.x86_64 установлен.

$uname -r
4.5.5-300.fc24.x86_64

Текущий загруженный ядро.

$ cd /boot
$ ll
total 90117
...
-rwxr-xr-x. 1 root root  6277656 Jul 29 07:09 vmlinuz-0-rescue-60cb3109c1ea41d6806444bff16cc074
-rwxr-xr-x. 1 root root  6277656 May 19 16:21 vmlinuz-4.5.5-300.fc24.x86_64

Но файла для ядра 4.6.4 нет.

Как вручную добавить более новое ядро в grub?

отредактируйте файл grub.conf, если вы используете Redhat/Centos

Скопируйте и отредактируйте параметры старого ядра и замените
старые параметры и местоположения на новые

Пора это сделать

Для BIOS

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak # Создание резервной копии текущего
grub2-mkconfig -o /boot/grub2/grub.cfg

Для UEFI

Под EFI GRUB 2 ищет свою конфигурацию в /boot/efi/EFI/fedora/grub.cfg

cp /boot/efi/EFI/fedora/grub.cfg /boot/efi/EFI/fedora/grub.cfg.bak
grub2-mkconfig /boot/efi/EFI/fedora/grub.cfg

Примечание

если вы получите

grub2-mkconfig : команда не найдена

это значит, что вы не установили пакеты, которые предоставляют эти инструменты (хотя это очень редко!), вам нужно сначала их установить

dnf install grub2-efi grub2-efi-modules shim

У меня была такая же проблема с чистой установкой F24, используя стандартное разделение диска. В моей системе /dev/sda1 был создан исключительно для grub, который обычно не смонтирован. Чтобы его найти, я выполнил:

sudo fdisk /dev/sda

и в fdisk нажал p, чтобы показать разделы. Затем смонтировал этот раздел:

sudo mount /dev/sda1 /mnt

искал файл с помощью:

find /mnt -name grub.cfg

и, наконец, обновил файл grub.cfg с помощью:

sudo grub2-mkconfig -o /mnt/EFI/fedora/grub.cfg

Этот процесс необходимо повторять каждый раз, когда обновляется ядро.

Есть ли у кого-то лучшее решение, чем это? Это работает, но я не понимаю, почему это не делается автоматически. Я что-то пропустил в настройках?

Ответ или решение

Установка и загрузка более новой версии ядра в Fedora 24 через GRUB

При установке Fedora 24 и обновлении ядра может возникнуть ситуация, когда новая версия ядра доступна в системе, но не отображается в меню загрузки GRUB. В данном ответе рассмотрим возможные причины данной проблемы и предложим решения.

1. Убедитесь в наличии файлов ядра

Сначала проверьте, действительно ли файлы ядра присутствуют в каталоге /boot. Ваша команда ls -l /boot показала, что файл для kernel-4.6.4-301.fc24.x86_64 отсутствует. Это может произойти по следующим причинам:

  • Ядро не было корректно установлено.
  • Ядро повреждено или удалено после его установки.

Решение: Убедитесь, что ядро установлено корректно. Попробуйте переустановить ядро с помощью следующей команды:

sudo dnf reinstall kernel-core kernel-modules kernel-devel

2. Обновление конфигурации GRUB

После установки даже если ядро присутствует в системе, необходимо обновить конфигурацию загрузчика GRUB, чтобы он распознал новое ядро. Это можно сделать с помощью команды:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

или для UEFI систем:

sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Эта команда создаст новый файл конфигурации GRUB, который должен включать все доступные ядра.

3. Проверка установленных пакетов GRUB

Если при выполнении команд вы получаете сообщения об ошибках, такие как command not found, это может означать отсутствия необходимых пакетов. Убедитесь, что установлены все необходимые компоненты GRUB:

sudo dnf install grub2-efi grub2-efi-modules shim

4. Проверка разделов

Если система установлена с использованием UEFI, убедитесь, что правильные разделы смонтированы. Возможно, GRUB настроен на использование отдельного раздела для своих файлов. Чтобы найти правильный раздел, выполните команду:

sudo fdisk -l

После этого смонтируйте раздел с GRUB, чаще всего это /dev/sda1:

sudo mount /dev/sda1 /mnt

Проверьте наличие файла grub.cfg:

find /mnt -name grub.cfg

И обновите его, если необходимо:

sudo grub2-mkconfig -o /mnt/EFI/fedora/grub.cfg

5. Повторный запуск и тестирование

После всех изменений перезагрузите систему и проверьте, отображается ли новое ядро в меню GRUB. Если оно теперь доступно, вы можете выбрать его для загрузки. Важно помнить, что после каждого обновления ядра эти действия могут быть необходимы для обновления конфигурации GRUB.

Заключение

Если после выполнения всех вышеизложенных шагов проблема не решается, рекомендуется проверить логи системы и конфигурацию GRUB на наличие ошибок или некорректных настроек. Также можно обратиться к сообществу Fedora для получения дополнительной помощи. Разрешение данной проблемы поможет вам использовать новейшие функции и улучшения, предоставляемые новым ядром.

Оцените материал
Добавить комментарий

Капча загружается...