Files
Change_bootloader/README.md
T

65 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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+.
```bat
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`](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.