grub2-mkconfig не использует /etc/default/grub?

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

Я пытаюсь добавить опцию ядра “xxx”, добавляя её в существующую строку

GRUB_CMDLINE_LINUX="xxxx crashkernel=auto rhgb quiet"

в /etc/default/grub, но после этого, когда я выполняю

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

он создаёт точно такой же файл grub.cfg, как и раньше (подтверждено с помощью diff).

Что я упускаю?

Я использую CentOS Linux release 7.6.1810 (Core)

Я не использую CentOS (поэтому не могу проверить это), но вот что должно помочь:

GRUB_CMDLINE_LINUX="xxxx crashkernel=auto rhgb quiet ${GRUB_CMDLINE_LINUX}"

Сначала я бы попробовал внести изменения в любой из других файлов в /etc/grub.d. Вы даже можете намеренно допустить ошибку, чтобы заставить grub2-mkconfig выдать ошибку.

Также убедитесь, что вы не копируете команду из скрипта, который может быть сохранен на вашем компьютере, или с веб-сайта. Введите команду grub2-mkconfig -o /boot/grub2/grub.cfg вручную.

Символы “-” и “–” не одинаковы, поэтому легко это упустить.

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

Ваша проблема связана с тем, что при использовании команды grub2-mkconfig изменения в файле /etc/default/grub не отражаются в конечном файле конфигурации GRUB. Давайте разберем причины этой проблемы и шаги по её устранению.

Теория

GRUB2 — это загрузчик второй версии, который предоставляет гибкие возможности для управления процессом загрузки операционной системы. Конфигурация GRUB2 в CentOS хранится в файле /etc/default/grub, где в строке GRUB_CMDLINE_LINUX вы можете указать параметры, которые передаются ядру. Однако, изменения в этом файле сами по себе не влияют на текущую конфигурацию GRUB, если не сгенерировать новый файл конфигурации путем выполнения команды grub2-mkconfig с указанием выходного файла, который обычно находится по пути /boot/grub2/grub.cfg.

Пример

Вы добавили параметр к GRUB_CMDLINE_LINUX:

GRUB_CMDLINE_LINUX="xxxx crashkernel=auto rhgb quiet"

После чего выполнили:

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

Но итоговый файл конфигурации GRUB не изменился, что говорит о том, что либо конфигурация не была сгенерирована правильно, либо ваш файл /etc/default/grub не учитывается.

Применение

Для решения проблемы выполните следующие шаги:

  1. Проверка правильности команды:
    Убедитесь, что вы действительно используете правильный символ минуса. Ваша команда должна быть:

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

    Это важно, так как тире и длинное тире в системе UNIX/LINUX отличаются.

  2. Проверка прав доступа:
    Убедитесь, что у вас достаточно привилегий для выполнения команды и записи в файл /boot/grub2/grub.cfg. Проще всего это сделать от имени суперпользователя или через sudo:

    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  3. Диагностика ошибок:
    Внесите намеренную ошибку в один из файлов внутри /etc/grub.d, например, добавив несуществующую команду, чтобы проверить, обрабатывается ли этот каталог. Выполните grub2-mkconfig и убедитесь, что ошибка отображается.

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

  5. Отладка:
    В крайнем случае, выполните отладку всего процесса. Вручную создайте резервную копию файла /boot/grub2/grub.cfg, а затем повторно создайте его, проверив все шаги.

  6. Рестарт и проверка:
    После успешной генерации нового файла конфигурации перезагрузите систему и проверьте, применены ли изменения. Для этого после загрузки попробуйте вручную проверить параметры ядра с помощью следующих команд:

    cat /proc/cmdline

    Это отобразит текущие параметры загрузки ядра и поможет понять, был ли добавлен новый параметр "xxx".

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

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

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