2.0 KiB
2.0 KiB
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.exeand\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
MessageBoxWdialogs with the same titles and texts. - The debug log is disabled by default. Set
PARAVIS_DEBUG_LOG=1to write%TEMP%\cbl_cpp_debug.log. - The GRUB2 Legacy action uses the same bootice
/sectorscommands 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.