我想知道是否有办法编写一个 C 程序来更改 GRUB 变量的值。
我需要编写一个程序,可以在另一个操作系统上重新启动我的计算机,例如:
- 我在 Suse disk1 上
程序更改 GRUB 的变量并自动重新启动。
- 我使用的是 Suse disk2
我想访问以下变量:标题、根、内核、initrd。但无需编辑/boot/grub/menu.lst 或 grub.conf 文件。
有 GRUB 的 API 吗?
最佳答案
为什么要重新发明轮子?看看grub-set-default
。这个小工具在命令行上设置 grub.cfg 中的默认条目。这只是一个小 shellscript,但应该足以满足您的需求。
关于使用C语言更改GRUB的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6490006/