В Fedora Linux >30 и RHEL/CentOS 8 не работает grub2-mkconfig как раньше. Что такое BLS и /boot/loader/entries?

Аватар пользователя admin

Если после установки или удаления ядра в Fedora Linux >30 и RHEL/CentOS 8 выполнить команду grub2-mkconfig, то вы увидите что ничего не произошло, файл /boot/grub2/grub.cfg не изменился. Более того, теперь в нём нет строк меню, которые начинаются с "menuentry". Почему и что делать?

Начиная с данных версий, для генерации загрузочного меню используется механизм BLS (Boot Loader Specification), который призван исправить ситуацию с разнообразием способов загрузки на разных архитектурах и операционных системах. Теперь команда grub2-mkconfig генерирует конфигурационный файл для grub без меню загрузки, а само меню генерируется автоматически, на основании файлов, которые находятся в каталоге /boot/loader/entries. Вы можете изучить данные файлы, чтобы понять принципы их создания.

Тем не менее, есть возможность вернуться к старому механизму (с использованием grubby). Для этого надо установить grubby и в файл  /etc/default/grub добавить строку:

GRUB_ENABLE_BLSCFG=false

После чего, команда grub2-mkconfig будет создавать файл конфигурации для grub2 как и раньше с menuentry.

Хотелось бы заметить, что для установки нестандартных параметров ядра, в случае BLS, вам всё-равно придётся использовать grubby, например для добавления параметров:

grubby --update-kernel=ALL --args="var=value"

или для удаления параметров:

grubby --update-kernel=ALL --remove-args="var=value"

Где соответственно "var" - имя параметра, а "value" - его значение.

0
Ваш рейтинг: Нет