Вопрос или проблема
Раньше у меня была 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
-
Редактирование файла /etc/default/grub:
-
Во-первых, отредактируйте файл
/etc/default/grub
. Это ключевой файл конфигурации, из которогоgrub.cfg
будет собран заново. Откройте этот файл в текстовом редакторе от имени суперпользователя:sudo nano /etc/default/grub
-
Проверьте и, при необходимости, измените параметры, связанные с загрузкой нужного ядра и initrd, чтобы они использовали
linuxefi
иinitrdefi
по умолчанию.
-
-
Обновление конфигурации GRUB:
-
После внесения изменений в
/etc/default/grub
, вам необходимо обновить файлgrub.cfg
. В CentOS этот процесс осуществляется командой:sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
-
В Ubuntu аналогичная команда будет следующей:
sudo update-grub
Эти действия перенастроят GRUB с учетом ваших изменений, и теперь при следующей загрузке изменения должны быть применены автоматически.
-
-
Учет возможных конфликтов:
- Если Ubuntu и CentOS установлены на разных SSD, убедитесь, что порядок загрузки в BIOS настроен корректно, или используйте удобные вам параметры для GRUB, такие как переменная GRUB_DEFAULT для выбора ОС по умолчанию.
-
Тестирование:
- Перезагрузите вашу систему, чтобы убедиться, что изменения успешно применены и Ubuntu загружается с удобными для вас настройками.
Следуя этим рекомендациям, вы сможете надежно и навсегда применить необходимые изменения в конфигурации GRUB, при этом сохраняя гибкость в управлении процессами загрузки обеих операционных систем. Не забывайте сохранять резервные копии конфигурационных файлов перед внесением изменений, чтобы избежать потери данных или нарушения работы системы.