Возможно ли редактировать grub.cfg?

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

Я хочу изменить запись в меню в файле 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. Это обеспечит долговечность и стабильность ваших изменений, снижая риски нарушения работы системы.

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

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

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