# Установщик загрузчика 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).