A UEFI library written in go to interact with efivars. Compatible with Windows and Linux.
This library tries its best to follow the UEFI 2.9 specification outlined here.
$ go get -u github.com/0x5a17ed/uefi@latest
package main
import (
"fmt"
"github.com/0x5a17ed/uefi/efi/efivario"
"github.com/0x5a17ed/uefi/efi/efivars"
)
func main() {
c := efivario.NewDefaultContext()
if err := efivars.BootNext.Set(c, 1); err != nil {
fmt.Println(err)
}
}
For a more in-depth example of how to use this library take a look at efibootcfg.
- Works on both Linux and on Windows exposing the same API
- Extensible
- Simple API
- Reading individual Boot options
- Setting next Boot option
- Managing Boot order