是否可以编辑 grub.cfg?

是否可以编辑 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'

答案1

编辑完成后再/etc/grub.d/10_linux运行。这是一种更可靠的方法,否则每次升级到新内核时,您的修改都会被覆盖,您将丢失所做的更改。sudo update-grub/boot/grub/grub.cfg

或者你可以使用Grub 定制器. 安装方法:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

答案2

如何通过模拟器了解 GRUB 的工作原理,不会有损坏任何东西的风险。

  • 创建一个 Multiboot hello worldmain.elf文件。GRUB 知道如何启动这些文件(GRUB 也知道如何启动 Linux 内核,尽管它不是 Multiboot)

  • 创建一个iso/boot/grub/grub.cfg包含以下内容的文件:

    menuentry "main" {
        multiboot /boot/main.elf
    }
    

    放置main.elfiso/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

答案3

是的,您可以编辑此文件 /boot/grub/grub.cfg

相关内容