Skip to content

0x5a17ed/uefi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

uefi

License: APACHE-2.0

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.

📦 Installation

$ go get -u github.com/0x5a17ed/uefi@latest

🤔 Usage

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.

💡 Features

  • 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