Изменить GRUB навсегда

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

Раньше у меня была Ubuntu как единственная ОС, пока я не решил приобрести новый SSD и установить туда CentOS. Теперь при запуске компьютера я не могу запустить Ubuntu без предварительного изменения записи для Ubuntu. Я знаю, как это сделать, в основном я меняю то место, где написано:

linux /boot/vmlinuz...
initrd /boot/initrd.img...

на

linuxefi /boot/vmlinuz...
initrdefi /boot/initrd.img...

Однако, мне нужно вносить это изменение каждый раз, когда я хочу запустить Ubuntu, поэтому мой вопрос: как сделать это изменение постоянным?

Я читал эту и эту темы, но я не уверен, нужно ли вносить изменения в:

/boot/efi/EFI

или

/boot/grub/

или

/boot/grub2/

Я также не могу найти файл с точной строкой, которую я изменяю каждый раз при запуске компьютера. Полагаю, этот файл называется что-то вроде grub.cfg. В любом случае, я бы не хотел возиться с одним из этих файлов, не зная на 100%, что я не испорчу всё ещё больше. Также, это изменение нужно сделать в Ubuntu или CentOS?

Любая помощь будет очень признательна. Спасибо!

PS: обратите внимание, что Ubuntu и CentOS установлены на разных SSD, если это имеет значение вообще.

Наконец, я нашел соответствующий файл и решил задокументировать решение здесь на случай, если у кого-то будет такая же (или похожая) проблема.

В моем личном случае, когда я нахожусь в Ubuntu, файл:

/boot/grub/grub.cfg

позволяет мне модифицировать только записи, указанные в разделе “Дополнительные параметры Ubuntu.”

Однако, в CentOS (помните, проблема возникла, когда я установил CentOS на новый SSD) файл:

/boot/efi/EFI/centos/grub.cfg

содержит строки для записи “Ubuntu 16.04.”

Единственное, что сейчас заставляет меня задуматься, является ли это идеальным решением или нет, это то, что в grub.cfg есть примечание, что файл не следует изменять, потому что он автоматически генерируется из “/etc/default/grub.” Изменения в указанных директориях исправили проблему, и пока что я не испытывал никаких проблем при загрузке.

Я оставлю на несколько дней прежде чем принять этот ответ на случай, если кто-то предложит лучшее решение или объяснение относительно примечания “не редактируйте этот файл” в начале grub.cfg.

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

Для решения вопроса постоянного изменения настроек GRUB при загрузке Ubuntu, вам необходимо сделать изменения, которые будут сохраняться при каждом запуске системы. В контексте вашей ситуации, когда в системе установлены две операционные системы на разных SSD — Ubuntu и CentOS, важно понять, какие именно конфигурационные файлы влияют на порядок загрузки.

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

Ваше решение по изменению файла /boot/efi/EFI/centos/grub.cfg пока временно помогло, но стоит учесть, что это решение может прекратиться после обновления или перестроения конфигурации GRUB. В идеале, вам следует внести изменения в файл, на основе которого генерируется grub.cfg, чтобы это стало постоянным решением.

Шаги для постоянного изменения настроек GRUB

  1. Редактирование файла /etc/default/grub:

    • Во-первых, отредактируйте файл /etc/default/grub. Это ключевой файл конфигурации, из которого grub.cfg будет собран заново. Откройте этот файл в текстовом редакторе от имени суперпользователя:

      sudo nano /etc/default/grub
    • Проверьте и, при необходимости, измените параметры, связанные с загрузкой нужного ядра и initrd, чтобы они использовали linuxefi и initrdefi по умолчанию.

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

    • После внесения изменений в /etc/default/grub, вам необходимо обновить файл grub.cfg. В CentOS этот процесс осуществляется командой:

      sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
    • В Ubuntu аналогичная команда будет следующей:

      sudo update-grub

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

  3. Учет возможных конфликтов:

    • Если Ubuntu и CentOS установлены на разных SSD, убедитесь, что порядок загрузки в BIOS настроен корректно, или используйте удобные вам параметры для GRUB, такие как переменная GRUB_DEFAULT для выбора ОС по умолчанию.
  4. Тестирование:

    • Перезагрузите вашу систему, чтобы убедиться, что изменения успешно применены и Ubuntu загружается с удобными для вас настройками.

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

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

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