Changer la variable de GRUB en utilisant un langage C

Je me demandais s’il était possible pour moi d’écrire un programme C pour changer la valeur des variables de GRUB.

Je dois écrire un programme capable de redémarrer mon ordinateur sous un autre système d’exploitation, par exemple:

  • Je suis sur Suse1

programme change la variable de GRUB et redémarre automatiquement.

  • Je suis sur Suse Disk2

J’aimerais accéder à des variables telles que: titre, racine, kernel, initrd. Mais sans éditer le fichier /boot/grub/menu.lst ou grub.conf.

Existe-t-il une API pour GRUB?

Pourquoi réinventer la roue? Regardez grub-set-default . Ce petit outil définit l’entrée par défaut dans le fichier grub.cfg de la ligne de commande. Ceci est juste un peu shellscript, mais il devrait être suffisant pour vos besoins.