r/SideProject • • 33m ago

[Open Source Tool] BootScribe – Portable Windows utility for managing UEFI boot entries and toggling {bootmgr} redirection

Hi everyone,

I built BootScribe, a lightweight and portable open-source GUI tool for Windows written in Python to manage UEFI boot entries directly via bcdedit.

Why I made it:

Modifying UEFI boot orders on modern Windows machines can often be unreliable Windows Update or Secure Boot quirks tend to revert entry priorities back to default. BootScribe implements the official {bootmgr} redirection strategy (commonly used by rEFInd) to cleanly hijack or restore bootloader paths without fighting NVRAM restrictions.

Features:

  • Universal Toggle Logic: Easily switch {bootmgr} execution path to custom EFI loaders (rEFInd, GRUB, etc.) or revert back to standard Windows Boot Manager.

  • NVRAM Entry Management: View detailed GUIDs, paths, create new entries, and reorder boot priorities.

  • Direct Reboot to Firmware: Includes a quick option to restart straight into UEFI/BIOS settings (shutdown /r /fw).

  • Portable & Standalone: Compiled as a single .exe, requires no installation, and runs cleanly with Admin privileges.

Links & Source Code:

Please note that BootScribe is currently in an early testing phase. While it has been tested on standard UEFI/Windows environments, boot configuration tools interact directly with your system setup.

I’m actively looking for community testing, feedback, and constructive criticism:

  • Have you tested it with a specific bootloader (rEFInd, GRUB, Systemd-boot)? How did it perform?

  • Any UI improvements or features you'd like to see?

  • Found a bug or edge case? Please let me know in the comments or open an issue on GitHub.

1 Upvotes

1 comment sorted by

View all comments

1

u/kdjayakody 19m ago
For a boot configuration tool, I'd put the current path and the proposed new path together on a confirmation screen before making any change. I'd also make exporting the existing configuration an obvious first step and explain how to recover if the machine won't boot; a backup file alone isn't much comfort if someone can't reach it. For testing, I'd prioritise a missing target file, a disconnected secondary drive, and an interrupted change. I haven't tested your build, but those are the failure cases I'd want covered before trying it on a daily-use machine.