towboot – a Multiboot-compatible bootloader for UEFI-based x86 systems
Abstract
Current desktop and server computers run on firmware that is compatible to the UEFI standard[37] and responsible for ini- tializing the hardware and loading a bootloader, e.g. GRUB[8]. The bootloader then prepares the early boot environment and hands control over to the operating system. Modern bootloaders provide many features and functionalities such as interactive scripting languages which results in large code bases – GRUB consists of 300 thousand lines of C/C++ and 64 thousand lines of assembly code. It is not surprising that numerous memory safety violations have been detected in various existing bootloaders[39]. We think many of these issues can be addressed by writing a bootloader in Rust. In this paper we present the design and implementation of tow- boot – a bootloader written in Rust for Multiboot 1 and 2 kernels on UEFI-based x86 / x86_64 systems.
Fields of Study & Subjects
Security and Verification in Computing
Logic
programming
and type systems
Parallel Computing and Optimization Techniques
Publication details
- Journal / source
- Gesellschaft für Informatik (GI)
- Publication date
- 1 January 2026
- Language
- EN