bighead
- Стаж: 3 года
- Сообщений: 386
- Репутация:24[+] [-]
|
AZJIO, я так полагаю dimo70, про эту утилитку пишет
|
Отправлено: 02-Июн-2023 13:19
(спустя 2 часа 54 минуты)
AZJIO
- Стаж: 6 лет 8 месяцев
- Сообщений: 1322
- Репутация:127[+] [-]
|
bighead, понятно. Если бы был исходник, то поковырял бы, я же пока по наименьшему сопротивлению делаю, я BootSectGui то не пользовался ни разу, чисто что когда то делал и перебирая справку, пиша описания ))) к проге решил, а что это она у меня на AutoIt3, когда там 100 строк кода. Обновил, добавил BootSectGuiMini, решил сделать минимизированный размер GUI, кстати тоже не с нуля идея, я также выкладывал Mini на AutoIt3, но тут как раз кстати, когда прога пол экрана занимает. По сути информативность не теряется, раскрывающийся список короткий, но открывается он широкий.
Вот чем я пользовалсяBootSector.bat@echo off color 3b title Прописать загрузочный сектор echo. echo. echo =============================================================================== echo Укажите букву флешки на которую нужно прописать загрузочный сектор echo =============================================================================== echo. echo. set /p disk1=Введите букву флешки, харда (англ. яз.) и жмите Enter, вводите: :menu CLS echo. echo. rem ═рцьшЄх эюьхЁ тр°хую т√сюЁр эр ъыртшрЄєЁх (1,2) ECHO Нажмите номер вашего выбора на клавиатуре (1,2) echo. ECHO 1 - Загрузочный сектор Vista (BOOTMGR) - рекомендуется для флешки ECHO 2 - Загрузочный сектор WinXP (NTLDR) - как вариант восстановления echo. ECHO __________________________________________ SET /P Choice=Введите число и жмите Enter, вводите: IF /I '%Choice%'=='1' "%~dp0RMBootSect.exe" %disk1%: IF /I '%Choice%'=='2' "%~dp0RMBootSect.exe" /nt52 %disk1%: IF /I '%Choice%'=='' GOTO MENU
Последний раз редактировалось: AZJIO (2023-06-02 14:57), всего редактировалось 1 раз
|
Отправлено: 02-Июн-2023 14:34
(спустя 1 час 15 минут)
sergeysvirid
- Стаж: 9 лет
- Сообщений: 2582
- Репутация:127[+] [-]
- Откуда: 65 регион (GMT+11)
|
100451А есть вариант сделать BCDBootGuix64.exe по подобию? dimo70, Есть вариант сделать BCDBootGuix64 на основе PECMD: BCD_Boot_Gui_x86-x64.7z
BCD_Boot_Gui.wcs//Bcdboot_Gui CALL @WIN2 _SUB FIX TEAM ENVI @ITEM1=Обработка...| ENVI @ITEM1.Enable=0 FIND $ =%LIST4%, !envi &&SPAN=/s %LIST4% FIND $ =%LIST3%, !envi &&GJ=/f %LIST3% FIND $%chek3.check%=1, envi &&bl=/d FIND $%chek4.check%=1, envi &&tj=/addlast EXEC* -code:866 -err+ &&jieg=!bcdboot.exe %LIST1% %&SPAN% %&GJ% %&bl% %&tj% /l %lan% mess+icon2 %&jieg% TEAM ENVI @ITEM1=Start| ENVI @ITEM1.Enable=1 _END _SUB FUN1 envi fDrive= FORX \Windows\system32\winload.exe,&&fd,0,TEAM# FDRV &&fp=%&fd%# FIND~ $X:=%&fp%, ~envi fDrive=%fDrive%%&fp%\Windows| FIND# $X=X%fDrive%, TEAM mess+icon1+top Не удалось найти системный раздел! LSTR &&sg=10,%fDrive% TEAM envi @LIST1.VAL=%fDrive%| envi @list1.SEL=%&sg% KILL \ _END _SUB FUN2 FIND $ =%LIST4%, TEAM ENVI @LIST3.Enable=0| ENVI @LIST3.SEL= ! ENVI @LIST3.Enable=1 _END _SUB FUN3 EXEC* -code:866 -err+ &&jieg=!bcdboot.exe /? ENVI ?bcdv=FVER,%WinDir%\System32\bcdboot.exe mess+icon %&jieg% @bcdboot_релиз: %bcdv% _END _SUB WIN2,W260H296,Bcdboot GUI,,,,, -disminb FDRV AllDrive= LIST LIST1,L90T29W85H75, LIST LAN,L100T59W58H100,cs-CZ|da-DK|de-DE|el-GR|en-US|es-ES|fi-FI|fr-FR|hu-HU|it-IT|ja-JP|ko-KR|nb-NO|nl-NL|pl-PL|pt-BR|pt-PT|ru-RU|sv-SE|tr-TR|uk-UA|zh-CN|zh-HK|zh-TW,,ru-RU,0x4 GROU GROU1,L10T87W235H145,Другие варианты, LIST LIST4,L195T107W41H85,|%AllDrive%,call FUN2, CHEK CHEK3,L20T171W215H22,Сохранить существующую загр.запись, ENVI @CHEK4.Enable=1, CHEK CHEK4,L20T195W215H23,Добавить запись в конец,, ITEM ITEM1,L95T235W80H24,Start,CALL FIX, LIST LIST3,L183T139W53H100,|ALL|BIOS|UEFI,, LABE LABE1,L50T62W43H17,Язык:,, LABE LABE2,L55T8W159H17,Выберите системный раздел:,, LABE LABE3,L15T111W180H18,Выбрать загрузочный раздел:,, LABE LABE4,L15T142W160H17,Укажите тип загрузки:,, LABE LABE5,L210T239W14H17,?,call fun3,0xff0000, ENVI @CHEK4.Enable=0 ENVI @LIST3.Enable=0 CALL @+ Fun1 _END -P.S. Работоспособность не проверял, кусок скрипта выдернут из Install_Windows_by_Xemom1
Install_Windows.wcs//---Install GUI------------------------------------------------------- CALL @Win3 ENVI MNTDIR= ENVI WIMFILE= ENVI $OEM$= _SUB SetEdit4 ENVI Wimfile= BROW Wimfile,install.wim,Please select the image source to be applied,wim;esd;swm|*.wim;*.esd;*.swm|All files|*.*|,0x1000 FIND $%WIMFILE%=,!ENVI @Edit4=%WIMFILE% FDIR ypath=%WIMFILE% ifex %ypath%\$oem$, team envi @chek7.enable=1| envi @chek7.check=1! team envi @chek7.enable=0| envi @chek7.check=0 call llj "%WIMFILE%" _END _SUB SetEdit10 BROW $OEM$,*%Edit10%,Please select a directory FIND $%$OEM$%=,!ENVI @Edit10=%$OEM$% FDIR oem=%$OEM$% ifex %oem%\$OEM$, team envi @chek7.enable=1| envi @chek7.check=1! team envi @chek7.enable=0| envi @chek7.check=0 _END _SUB Apply envi @item2.enable=0 ENVI Result=1 ENVI CheckIntegrity= ENVI Compact= FIND $%Edit4%=,TEAM ENVI Result=0|MESS Выберите образ Windows! @Error#OK FIND $%List4%=,TEAM ENVI Result=0|MESS Выберите раздел для установки Windows! @Error#OK FIND $%Result%=1,FIND $%Check2.Check%=1,ENVI CheckIntegrity=/CheckIntegrity FIND $%Result%=1,FIND $%Check11.Check%=1,ENVI Compact=/Compact FIND $%Result%=1,EXEC =CMD /C Dism /apply-image /imagefile:"%Edit4%" /index:%index2% /ApplyDir:"%List4%" %CheckIntegrity% %Compact% //TEAM envi &&rd1=%radi1.check%| envi &&rd2=%radi2.check% find $%chek7.check%=1, team file -progress %ypath%\$oem$\$$\*=>%panfu2%\windows| file -progress %ypath%\$oem$\$1\*=>%panfu2% find $%chek7.check%=1, team file -progress %oem%\$oem$\$$\*=>%panfu2%\windows| file -progress %oem%\$oem$\$1\*=>%panfu2% call @win2 envi @item2.enable=1 _END _SUB Win3,W420H520,Установка Windows из *.wim;*.esd;*.swm,,PECMD.EXE#1 envi &::index2=1 envi MEMO1= FDRV AllDrive= MEMO MEMO1,L7T247W400H210,,,0x8 GROU Group2,L7T6W398H235,Параметры установки Windows: LABE Label4,L15T27W110H30,Выберите install *.wim;*.esd;*.swm: EDIT Edit4,L105T30W230H24, ITEM Button5,L345T30W50H24,Browse,CALL SetEdit4 LABE Label5,L15T67W110H30,Выбрать раздел для установки Windows: LIST List4,L130T70W40H35,%AllDrive%,TEAM envi panfu2=%list4%|envi @item2.enable=1 ITEM Button30,L180T70W130H24,Управление дисками,mmc.exe /b diskmgmt.msc LIST LIST1,L130T110W38H200,1,envi index2=%LIST1%,1, LABE Label6,L15T106W110H26,Выбрать индекс (редакцию Windows): ITEM Button26,L180T110W90H24,WimInfo,EXEC* -code:866 -err+ @MEMO1=!cmd.exe /c Dism /get-wiminfo /wimFile:"%WIMFILE%" /index:%index2% 2>&1, LABE Label11,L15T145W90H30,Выберите папку $OEM$: EDIT Edit10,L105T148W230H24, ITEM Button10,L345T148W50H24,Browse,CALL SetEdit10 CHEK CHEK7,L315T110W80H22,Copy $OEM$,,-2 CHEK Check11,L135T187W140H20,Compact (только Win10) CHEK Check2,L135T207W110H20,Проверка образа ITEM ITEM2,L295T190W100H35,Установить,CALL Apply, //ITEM Button7,L290T190W100H35,Установить,CALL Apply ITEM Button31,L18T190W100H35,BcdBootGui,CALL WIN2 RADI RADI1,L30T460W143H18,,call fund,1, ENVI ?disme=FVER,%CurDir%\dism.exe envi @RADI1=Dism %disme% RSTR disme1=5,%disme% LSTR disme2=3,%disme% envi disme=%disme2%%disme1% RADI RADI2,L180T460W140H20,,call funw,, ifex "X:\Sources\wimlib-imagex.exe", EXEC*1 --hide &&wimn=X:\Sources\wimlib-imagex.exe --version! ENVI @RADI2.visable=0 MSTR &wimn=33,19,%&wimn% SED &wimn=1,[)], ,%&wimn% envi @RADI2=%&wimn% ifex $%disme%>=6.317029,! TEAM envi @radi1.enable=0| envi @radi2.check=1| envi @name1:chek6.visable=0| envi @name2:chek1.visable=0| envi @name2:item6.visable=0| envi @name4:labe9.visable=1| envi @name3:chek3.visable=0 ifex $%disme2%=10.,! envi @name3:chek8.visable=0 envi @item2.enable=0 LABE LABE15,L385T465W14H17,?,notepad Install.txt,0xff0000, _END //Bcdboot_Gui _SUB FIX TEAM ENVI @ITEM1=Обработка...| ENVI @ITEM1.Enable=0 FIND $ =%LIST4%, !envi &&SPAN=/s %LIST4% FIND $ =%LIST3%, !envi &&GJ=/f %LIST3% FIND $%chek3.check%=1, envi &&bl=/d FIND $%chek4.check%=1, envi &&tj=/addlast EXEC* -code:866 -err+ &&jieg=!bcdboot.exe %LIST1% %&SPAN% %&GJ% %&bl% %&tj% /l %lan% mess+icon2 %&jieg% TEAM ENVI @ITEM1=Start| ENVI @ITEM1.Enable=1 _END _SUB FUN1 envi fDrive= FORX \Windows\system32\winload.exe,&&fd,0,TEAM# FDRV &&fp=%&fd%# FIND~ $X:=%&fp%, ~envi fDrive=%fDrive%%&fp%\Windows| FIND# $X=X%fDrive%, TEAM mess+icon1+top Не удалось найти системный раздел! LSTR &&sg=10,%fDrive% TEAM envi @LIST1.VAL=%fDrive%| envi @list1.SEL=%&sg% KILL \ _END _SUB FUN2 FIND $ =%LIST4%, TEAM ENVI @LIST3.Enable=0| ENVI @LIST3.SEL= ! ENVI @LIST3.Enable=1 _END _SUB FUN3 EXEC* -code:866 -err+ &&jieg=!bcdboot.exe /? ENVI ?bcdv=FVER,%WinDir%\System32\bcdboot.exe mess+icon %&jieg% @bcdboot_релиз: %bcdv% _END _SUB WIN2,W260H296,Bcdboot GUI,,,,, -disminb FDRV AllDrive= LIST LIST1,L90T29W85H75, LIST LAN,L100T59W58H100,cs-CZ|da-DK|de-DE|el-GR|en-US|es-ES|fi-FI|fr-FR|hu-HU|it-IT|ja-JP|ko-KR|nb-NO|nl-NL|pl-PL|pt-BR|pt-PT|ru-RU|sv-SE|tr-TR|uk-UA|zh-CN|zh-HK|zh-TW,,ru-RU,0x4 GROU GROU1,L10T87W235H145,Другие варианты, LIST LIST4,L195T107W41H85,|%AllDrive%,call FUN2, CHEK CHEK3,L20T171W215H22,Сохранить существующую загр.запись, ENVI @CHEK4.Enable=1, CHEK CHEK4,L20T195W215H23,Добавить запись в конец,, ITEM ITEM1,L95T235W80H24,Start,CALL FIX, LIST LIST3,L183T139W53H100,|ALL|BIOS|UEFI,, LABE LABE1,L50T62W43H17,Язык:,, LABE LABE2,L55T8W159H17,Выберите системный раздел:,, LABE LABE3,L15T111W180H18,Выбрать загрузочный раздел:,, LABE LABE4,L15T142W160H17,Укажите тип загрузки:,, LABE LABE5,L210T239W14H17,?,call fun3,0xff0000, ENVI @CHEK4.Enable=0 ENVI @LIST3.Enable=0 CALL @+ Fun1 _END _SUB llj //MEMO ENVI @LABE3=%~1 find $%radi2.check%=1, { //envi @item4.enable=0 FIND $X=X%~1, envi @item2.enable=0! EXEC* -code:UTF8 -err+ @MEMO1=!.\wimlib-imagex.exe info "%~1" LPOS &&iPos=Count,1,%MEMO1% calc #pos = %ipos% + 11 LSTR &&ipos= %pos%,%MEMO1% RSTR &&ipos=2,%&ipos% envi &&i=1 envi &&j= loop %&i%<=%&ipos%, { envi &j=%&j%%&i%| CALC &i= %&i% + 1 } TEAM envi @list1.VAL=%&j%| envi @list1.SEL=1 } find $%radi1.check%=1, { FIND $X=X%~1, TEAM envi @item2.enable=0| envi @item4.enable=0! TEAM EXEC* -code:866 -err+ @MEMO1=!cmd.exe /c Dism /get-wiminfo /wimFile:"%~1" 2>&1 | envi @item4.enable=1 read -,-1,&&pos,%MEMO1% calc #&&ipos = (%&pos% - 7)/5 envi &&i=1 envi &&j= loop %&i%<=%&ipos%, { envi &j=%&j%%&i%| CALC &i= %&i% + 1 } TEAM envi @list1.VAL=%&j%| envi @list1.SEL=1 } _END
Последний раз редактировалось: sergeysvirid (2023-06-03 01:58), всего редактировалось 1 раз
|
dimo70
- Стаж: 6 лет 11 месяцев
- Сообщений: 3777
- Репутация:27[+] [-]
- Откуда: BG
|
sergeysvirid, спасибо, пригодиться. PECMD в помощь
_________________ Подпись отключена за нарушение правил форума
|
dimo70
- Стаж: 6 лет 11 месяцев
- Сообщений: 3777
- Репутация:27[+] [-]
- Откуда: BG
|
Переделал для себя на английский, выложу если кому пригодиться.code_EN/Bcdboot_Gui CALL @WIN2 _SUB FIX TEAM ENVI @ITEM1=Working...| ENVI @ITEM1.Enable=0 FIND $ =%LIST4%, !envi &&SPAN=/s %LIST4% FIND $ =%LIST3%, !envi &&GJ=/f %LIST3% FIND $%chek3.check%=1, envi &&bl=/d FIND $%chek4.check%=1, envi &&tj=/addlast EXEC* -err+ &&jieg=!bcdboot.exe %LIST1% %&SPAN% %&GJ% %&bl% %&tj% /l %lan% mess+icon2 %&jieg% TEAM ENVI @ITEM1=Start| ENVI @ITEM1.Enable=1 _END _SUB FUN1 envi fDrive= FORX \Windows\system32\winload.exe,&&fd,0,TEAM# FDRV &&fp=%&fd%# FIND~ $X:=%&fp%, ~envi fDrive=%fDrive%%&fp%\Windows| FIND# $X=X%fDrive%, TEAM mess+icon1+top No system partition detected! LSTR &&sg=10,%fDrive% TEAM envi @LIST1.VAL=%fDrive%| envi @list1.SEL=%&sg% KILL \ _END _SUB FUN2 FIND $ =%LIST4%, TEAM ENVI @LIST3.Enable=0| ENVI @LIST3.SEL= ! ENVI @LIST3.Enable=1 _END _SUB FUN3 EXEC* -err+ &&jieg=!bcdboot.exe /? ENVI ?bcdv=FVER,%WinDir%\System32\bcdboot.exe mess+icon %&jieg% @bcdboot_релиз: %bcdv% _END _SUB WIN2,W260H296,Bcdboot GUI,,,,, -disminb FDRV AllDrive= LIST LIST1,L90T29W85H75, LIST LAN,L100T59W58H100,bg-BG|da-DK|de-DE|el-GR|en-US|es-ES|fi-FI|fr-FR|hu-HU|it-IT|ja-JP|ko-KR|nb-NO|nl-NL|pl-PL|pt-BR|pt-PT|ru-RU|sv-SE|tr-TR|uk-UA|zh-CN|zh-HK|zh-TW,,en-US,0x4 GROU GROU1,L10T87W235H145,Other, LIST LIST4,L195T107W41H85,|%AllDrive%,call FUN2, CHEK CHEK3,L20T171W215H22,Save old boot record, ENVI @CHEK4.Enable=1, CHEK CHEK4,L20T195W215H23,Add record at the end,, ITEM ITEM1,L95T235W80H24,Start,CALL FIX, LIST LIST3,L183T139W53H100,|ALL|BIOS|UEFI,, LABE LABE1,L50T62W43H17,Language:,, LABE LABE2,L55T8W159H17,System partition:,, LABE LABE3,L15T111W180H18,Boot partition:,, LABE LABE4,L15T142W160H17,UEFI or Legacy:,, LABE LABE5,L210T239W14H17,?,call fun3,0xff0000, ENVI @CHEK4.Enable=0 ENVI @LIST3.Enable=0 CALL @+ Fun1 _END И готовую утилитку - BCD_Boot_GUI_x64.exe
Последний раз редактировалось: dimo70 (2023-06-03 15:56), всего редактировалось 1 раз _________________ Подпись отключена за нарушение правил форума
|
Отправлено: 03-Июн-2023 13:02
(спустя 1 час 56 минут)
rezorustavi
- Стаж: 8 лет 10 месяцев
- Сообщений: 918
- Репутация:55[+] [-]
- Откуда: Грузия, город Рустави
|
|
Отправлено: 03-Июн-2023 15:45
(спустя 2 часа 43 минуты)
dimo70
- Стаж: 6 лет 11 месяцев
- Сообщений: 3777
- Репутация:27[+] [-]
- Откуда: BG
|
Ander_73, вижу. Может не надо было удалять 866 с кода.
_________________ Подпись отключена за нарушение правил форума
|
AZJIO
- Стаж: 6 лет 8 месяцев
- Сообщений: 1322
- Репутация:127[+] [-]
|
Кто в курсе откуда взят grubbootsect.exe? Думаю в архиве не должно быть bootsect.exe, так как это компонент Windows, а на grubbootsect.exe либо посмотреть лицензию, либо ссылку на официальный дистрибутив указать. Погуглил не нашёл, посмотрел Grub4Dos, в комплекте нет, может другая версия.
|
vovan1982
- Стаж: 9 лет 9 месяцев
- Сообщений: 1129
- Репутация:76[+] [-]
- Откуда: Ростов-на-Дону
|
AZJIO, в свое время Nikzzzz внес изменения в GUI и добавил бутсектор от G4D. Это его задумка.
|
Страница 2 из 2
Текущее время: 21-Ноя 14:38
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|