go-boot
go-boot is a free, open-source bare-metal Go unikernel that provides a UEFI shell and operating-system loader for AMD64 platforms.
What go-boot is
go-boot is a free, open-source bare-metal Go unikernel that provides a UEFI shell and operating-system loader for AMD64 platforms. It can launch EFI application images, Linux kernels configured through UAPI boot loader entries, and the Windows UEFI boot manager. The project can run as an EFI application or boot entry, under QEMU, or on Google Compute Engine, including Confidential VM configurations. Its shell can list files, inspect UEFI information, examine PCI devices and memory maps, and boot Linux or Windows. Builds may enable UEFI networking with the gVisor or lneto stack, adding net and dns commands. Documentation covers AMD SEV-SNP in QEMU and Google Compute Engine Confidential VMs. Building requires an IMAGE_BASE value that fits available memory in the target UEFI environment; the Makefile downloads and compiles TamaGo. go-boot supports UEFI, not BIOS, and optional network debug mode exposes an unauthenticated SSH console to the UEFI shell.
Good
- Loads EFI, Linux, and Windows targets
- Runs under QEMU and Google Compute Engine
- UEFI shell includes inspection commands
- Optional gVisor or lneto networking
- BSD-style licensed open source
Watch out
- Targets AMD64 and UEFI only
- IMAGE_BASE must fit target memory
- Debug SSH console is unauthenticated
Who it suits
go-boot suits developers working with AMD64 UEFI boot environments, QEMU, or cloud VM deployments. It is relevant to users needing Linux, Windows, or EFI image loading from a Go-based boot manager.
Verdict
go-boot provides a programmable UEFI shell and loader across local and cloud environments, with optional networking and confidential-computing examples. Its AMD64 focus, build requirement, and unauthenticated debug mode require careful deployment.
The facts
Each one read from go-boot's own pages, with the date it was checked.
What it does
- Boot environments
- The project documents running as an EFI application or boot entry, under QEMU, and on Google Compute Engine, including Confidential VM.checked 11 Oct 2026
- Boot targets
- It can launch EFI application images, Linux kernels using UAPI boot loader entries, and the Windows UEFI boot manager.checked 4 Oct 2026
- Build requirement
- Building go-boot.efi requires setting IMAGE_BASE to a memory range available in the target UEFI environment.checked 11 Oct 2026
- Build requirements
- The Makefile automatically downloads and compiles the TamaGo compiler as a Go tool.checked 4 Oct 2026
- Confidential computing
- The project documents a QEMU target for AMD SEV-SNP and deployment on Google Compute Engine Confidential VMs.checked 4 Oct 2026
- Execution
- The project can run as an EFI application or boot entry, under QEMU, or on Google Compute Engine, including confidential VM configurations.checked 4 Oct 2026
- Hardware limits
- The project targets AMD64, and its build requires an IMAGE_BASE value that fits an available memory range in the target UEFI environment.checked 4 Oct 2026
- Hardware support
- The project wiki lists tested laptops, desktops, and QEMU hardware, and says IMAGE_BASE may need adjustment for other UEFI environments.checked 11 Oct 2026
- Intended context
- The project describes itself as a UEFI boot manager and provides examples for system booting and cloud VM deployments.checked 11 Oct 2026
- License
- The source files are distributed under a BSD-style license.checked 11 Oct 2026
- Maintainer
- The README lists Andrea Barisani as an author.checked 4 Oct 2026
- Networking
- Builds configured with NET=gvisor or NET=lneto can enable UEFI networking, including net and dns commands.checked 11 Oct 2026
- Purpose
- go-boot is a bare-metal Go UEFI boot manager implemented as a TamaGo unikernel for AMD64.checked 11 Oct 2026
- Roadmap
- Support for boot-transparency is described as planned for future releases.checked 11 Oct 2026
- Security
- The README documents a qemu-snp target as an example of execution with AMD SEV-SNP on compatible hardware.checked 11 Oct 2026
- Security caveat
- The README says the optional network debug mode starts an unauthenticated SSH console that exposes the UEFI shell.checked 4 Oct 2026
- Security limitation
- The README says the optional network debug mode exposes an unauthenticated SSH console with access to the UEFI shell.checked 11 Oct 2026
- Shell tools
- Its shell includes commands for listing files, reading UEFI information, inspecting PCI devices and memory maps, and booting Linux or Windows.checked 4 Oct 2026
- UEFI shell
- By default, it presents a UEFI shell with commands for inspecting system information, files, devices, and runtime state.checked 11 Oct 2026
Where it runs
- OS loading
- It can launch EFI application images, Linux kernels configured through UAPI boot loader entries, and the Windows UEFI boot manager.checked 11 Oct 2026
Alternatives to go-boot
- 1

GitHub CodeQL
Free planWebExtensionLinuxmacOS7.5From $30 a month - 2
Avidemux
Free planOpen sourceWebLinuxmacOSWindows7.3Free plan - 3
Boot-US
Free planLinuxWindows7.3Free plan - 4
rEFInd
Free planOpen sourceLinuxmacOSSelf-hostedWindows7.1Free plan - 5

Launchpad
Free planWebAPILinuxSelf-hosted7.0Free plan - 6
EasyBCD
Free planWindows6.5$39.99 one-time
