Files
Change_bootloader/README.md
T

2.0 KiB
Raw Blame History

Change BootLoader — C++ port

Native Win32 port of Change_bootloader\Change_bootloader.au3 with the same window, buttons, actions and messages.

Build

Requirements: Visual Studio 2022 (Desktop C++) and CMake 3.20+.

build.cmd

Output:

build\Release\Change_BootLoader.exe

The executable is 32-bit, uses a static CRT (no VC++ redistributable), and requests administrator rights through the embedded manifest.

How it works

  • The program must be started from the root of a PARAVIS flash drive, for example F:\Change_BootLoader.exe.
  • It derives the drive from its own path and checks for \efi\Paravis\Boot\bootice.exe and \efi\Paravis\Boot\NOT.DEL.
  • If those files are missing, it shows the original error and exits.
  • Seven buttons perform the same operations as the AutoIt version:
    • Legacy BIOS: XorBoot, Bootmgr, Grub4Dos, Grub2
    • UEFI: Bootmgr, Grub2, Xorboot
  • Bootice, xcopy and the GRUB2 MBR helper script are invoked exactly like the AutoIt version. The helper script is \efi\Paravis\Boot\grub2\bios\make-paravis-mbr.ps1.

Notes

  • The UI matches the AutoIt version (376 × 208, same fonts, positions, hover/pressed colors).
  • Message boxes are native MessageBoxW dialogs with the same titles and texts.
  • The debug log is disabled by default. Set PARAVIS_DEBUG_LOG=1 to write %TEMP%\cbl_cpp_debug.log.
  • The GRUB2 Legacy action uses the same bootice /sectors commands as the AutoIt version. On some virtual disks bootice displays its own sector confirmation/error dialogs; on a real PARAVIS USB flash it behaves the same as the original.

Repository layout

src/            C++ sources and resources
legacy-au3/     original AutoIt script
build.cmd       release build

License

MIT. See LICENSE.

This repository contains source code only. Third-party binaries used at runtime (bootice.exe, xcopy, powershell.exe) are not distributed here and must be supplied by the system or by the PARAVIS flash image.