PartBoot is a disk-resident ISO boot manager for UEFI systems. It lets you keep Linux ISO images on a local partition and boot them through a generated GRUB menu instead of preparing a USB drive for each installer or live image.
PartBoot is early-stage software. Test it on a disposable partition first and do not point it at a partition that contains personal data, an installed operating system, or recovery media.
- Interactive
partboot startworkflow for scanning, extracting, menu generation, and EFI staging. - ISO discovery and boot profiles for Ubuntu, Debian/Kali, Arch, Fedora, and other GRUB-compatible Linux live images.
- Generated GRUB configuration with optional diagnostics.
- EFI staging and install helpers with explicit
--dry-run/--forcesafeguards. - JSON output for automation-oriented commands.
Windows installer ISOs are detected but not booted yet. See Future Work.
- Windows with UEFI firmware.
- 7-Zip installed or
PARTBOOT_7Z_PATHpointing to7z.exe. - A separate NTFS test partition, recommended size 16-64 GB.
- Secure Boot disabled unless you provide your own trusted EFI signing flow.
Install with WinGet:
winget install --id Haxllo.PartBoot --exactWinGet can lag the latest GitHub or crates.io release while the package submission is reviewed.
Install with Cargo:
cargo install partbootcargo install builds from source, so it requires the Rust and C++ build tools listed below.
Or download partboot.exe from the GitHub Releases page.
Source builds are only needed when you want to modify PartBoot or test an unreleased change.
Build requirements:
- Rust 1.95 or newer.
- Git.
- Microsoft C++ Build Tools or Visual Studio with the C++ workload when using the default Windows MSVC Rust toolchain.
- 7-Zip for ISO extraction tests and local end-to-end runs.
Build the binary:
cargo build --releaseRun it from target\release\partboot.exe.
Start the guided workflow:
partboot startThe wizard will:
- Detect available partitions.
- Import ISO files into the selected PartBoot directory.
- Extract boot files from supported Linux ISOs.
- Generate a GRUB boot menu.
- Stage EFI files and print the installation instructions.
After reviewing the generated files, install them to an EFI system partition:
partboot install-esp --root <PARTBOOT_ROOT> --esp <ESP_PATH> --force
partboot boot-instructions --esp <ESP_PATH>Then reboot and select the PartBoot entry from the firmware boot menu.
- Usage Guide: command reference, supported ISO families, partition guidance, and troubleshooting.
- Developer Guide: build, test, release, and implementation notes.
- GRUB Strategy: EFI and GRUB architecture notes.
- Planning Status: implementation status for active and historical plan docs.
- Future Work: known limitations and planned improvements.
- Contributing: contribution workflow and quality expectations.
PartBoot is licensed under the MIT License.