Change GRUB's variable using a C language [clo

2019-03-03 22:25发布

问题:

I was wondering if there is any way for me to write a C program to change the value off GRUB's variables.

I need to write a program that can reboot my computer on another OS, for example :

  • I am on Suse disk1

program changes GRUB's variable and reboot automatically.

  • I am on Suse disk2

I would like to access variables like : title, root, kernel, initrd. But without editing the /boot/grub/menu.lst or grub.conf file.

Is there an API for GRUB?

回答1:

Why re-invent the wheel? Have a look at grub-set-default. This little tool set the default entry in the grub.cfg on the command line. This is just a little shellscript, but it should be enough for your needs.