59 lines
2.5 KiB
Markdown
59 lines
2.5 KiB
Markdown
# Установщик загрузчика PARAVIS
|
|
|
|
Нативная Win32-версия `Change_bootloader.au3` на C++. Окно, кнопки, действия и
|
|
сообщения те же, что в AutoIt-версии.
|
|
|
|
## Сборка
|
|
|
|
Требования: Visual Studio 2022 (Desktop C++) и CMake 3.20+.
|
|
|
|
```bat
|
|
build.cmd
|
|
```
|
|
|
|
Результат:
|
|
|
|
```
|
|
build\Release\Change_BootLoader.exe
|
|
```
|
|
|
|
Программа 32-битная, использует статическую CRT (VC++ Redistributable не
|
|
нужен) и запрашивает права администратора через встроенный манифест.
|
|
|
|
## Как работает
|
|
|
|
- Запускать с корня флешки PARAVIS, например `F:\Change_BootLoader.exe`.
|
|
- Диск определяется по пути к самой программе; проверяются
|
|
`\efi\Paravis\Boot\bootice.exe` и `\efi\Paravis\Boot\NOT.DEL`.
|
|
- Если этих файлов нет, показывается исходное сообщение об ошибке и выход.
|
|
- Семь кнопок выполняют те же операции, что и AutoIt-версия:
|
|
- Legacy BIOS: XorBoot, Bootmgr, Grub4Dos, Grub2
|
|
- UEFI: Bootmgr, Grub2, Xorboot
|
|
- Bootice, xcopy и скрипт создания MBR для GRUB2 вызываются так же, как в
|
|
AutoIt-версии. Скрипт:
|
|
`\efi\Paravis\Boot\grub2\bios\make-paravis-mbr.ps1`.
|
|
|
|
## Примечания
|
|
|
|
- Интерфейс совпадает с AutoIt-версией (376×208, те же шрифты, позиции,
|
|
цвета наведения и нажатия).
|
|
- Диалоги — нативный `MessageBoxW` с теми же заголовками и текстами.
|
|
- Отладочный лог по умолчанию выключен. `PARAVIS_DEBUG_LOG=1` включает
|
|
запись в `%TEMP%\cbl_cpp_debug.log`.
|
|
- Действие «GRUB2 Legacy» использует те же команды bootice `/sectors`, что и
|
|
AutoIt-версия. На виртуальных дисках bootice может показывать свои
|
|
диалоги подтверждения; на реальной флешке PARAVIS поведение совпадает с
|
|
оригиналом.
|
|
|
|
## Структура репозитория
|
|
|
|
```
|
|
src/ исходники и ресурсы C++
|
|
legacy-au3/ исходная версия на AutoIt
|
|
build.cmd сборка релиза
|
|
```
|
|
|
|
## Лицензия
|
|
|
|
MIT, см. [`LICENSE`](LICENSE).
|