我希望更改 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 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
。
答案3
是的,您可以编辑此文件 /boot/grub/grub.cfg