Bootloader installer 2.0 (C++ port)
This commit is contained in:
commit
c538f115f1
15 files changed
+1569
No files matched your search
@@ -0,0 +1,64 @@
|
||||
# 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.
|
||||
Reference in new issue
Block a user