Вопрос или проблема
Я хочу изменить запись в меню в файле grub.cfg, например:
С
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu is wonderful'
На
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu is world famous'
Вместо этого отредактируйте /etc/grub.d/10_linux
и выполните sudo update-grub
после завершения. Это более надежный метод, иначе каждый раз при обновлении ядра ваш /boot/grub/grub.cfg
будет перезаписан, и вы потеряете свои изменения.
Или вы можете использовать Grub Customizer. Чтобы установить его:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
Как сделать это из эмулятора, чтобы изучить, как работает GRUB, без риска что-то сломать.
-
создайте Multiboot файл “hello world”
main.elf
. GRUB умеет загружать эти файлы (GRUB также умеет загружать ядро Linux, даже если оно не является Multiboot) -
создайте файл
iso/boot/grub/grub.cfg
, содержащий:menuentry "main" { multiboot /boot/main.elf }
Поместите
main.elf
вiso/boot/
-
Создайте образ и запустите его:
grub-mkrescue -o main.img iso qemu-system-x86_64 -hda main.img
Это загрузит GRUB, и вы увидите запись с названием main
.
Теперь отредактируйте grub.cfg
, как menuentry "newmain"
, и после перезагрузки новое название опции будет newmain
. Таким образом, ваше изменение будет работать.
Я опубликовал точный код для этого примера по адресу: https://github.com/cirosantilli/x86-bare-metal-examples/tree/d217b180be4220a0b4a453f31275d38e697a99e0/multiboot/hello-world
Как сказали другие, не делайте это на практике, так как это обычно файл вывода и будет перезаписан при update-grub
.
Да. Вы можете отредактировать этот файл: /boot/grub/grub.cfg
.
Ответ или решение
Редактирование файла grub.cfg
может быть возможно, но не является рекомендуемой практикой, если вы хотите внести постоянные изменения в меню загрузки GRUB. Файл /boot/grub/grub.cfg
генерируется автоматически с помощью утилиты update-grub
и обычно перезаписывается при каждом обновлении ядра или изменении конфигурации GRUB.
Возможные пути внесения изменений в меню GRUB:
1. Редактирование конфигурационных файлов в /etc/grub.d/
:
- Вам следует изменить исходные файлы конфигураций, такие как
/etc/grub.d/10_linux
, чтобы настроить отображение пунктов меню. - После внесения изменений, выполните команду
sudo update-grub
. Это приведет к обновлению файлаgrub.cfg
с учетом ваших изменений.
2. Использование Grub Customizer:
- Grub Customizer — это графический инструмент, который упрощает конфигурацию GRUB. Установите его, выполнив следующие команды:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer sudo apt-get update sudo apt-get install grub-customizer
- После установки вы можете использовать интерфейс Grub Customizer для визуального редактирования пунктов загрузочного меню, избегая ручного редактирования конфигурационных файлов.
3. Работа в эмуляторе:
- Если вы хотите изучить, как работает GRUB, без риска нарушения работы системы, попробуйте создать тестовую конфигурацию в виртуальной среде. Этот подход позволит вам свободно экспериментировать с изменениями в файле
grub.cfg
.
Заключение:
Прямое редактирование grub.cfg
может привести к потере изменений при обновлениях. Используйте более устойчивые подходы для конфигурации GRUB, такие как изменение скриптов в /etc/grub.d/
или использование Grub Customizer. Это обеспечит долговечность и стабильность ваших изменений, снижая риски нарушения работы системы.
При планировании изменений всегда лучше иметь резервную копию важных данных и знание процедуры восстановления в случае необходимости.