2011-06-27 35 views
0

我想知道是否有任何方法可以編寫C程序來更改GRUB變量的值。使用C語言更改GRUB的變量

我需要編寫一個程序,可以重新啓動我的計算機上的其他操作系統,例如:

  • 我在SUSE DISK1

程序更改GRUB的變量,並自動重新啓動。

  • 我在SUSE DISK2

我想訪問變量一樣:標題,根,內核的initrd。但是不要編輯/boot/grub/menu.lst或grub.conf文件。

是否有GRUB的API?

回答

1

爲什麼重新發明車輪?看看grub-set-default。這個小工具在命令行中設置grub.cfg中的默認條目。這只是一個小小的腳本,但它應該足以滿足您的需求。

+0

謝謝,這是我需要的。但是我每次有「找不到命令」時都不能執行「grub-set-default」。 – greg

+0

在SuSE上,您可能需要首先安裝'trustedgrub'軟件包,因爲它包含腳本。 –

+0

謝謝,它現在有效。 – greg