Скрипт позволяет пересортировать буквы WinPE согласно целевой ОС Windows. Аналог скрипта LetterSwap от NikZZZZ.-Ключи запуска скрипта: ■ TargOS=Auto - выбрать целевую ОС автоматически, значение по-умолчанию. Если найдено несколько ОС, в качестве целевой ОС будет выбрана ОС, которая запускалась последней. Поиск производится только по имени папки Windows (для ускорения поиска), на всех дисках Fixed HDD. ¤ TargOS=EQU - выбрать целевую ОС автоматически. Если найдено несколько ОС, будет выбрана ближайшая к запущенной РЕ по разрядности (в первую очередь) и поколению ОС (во вторую очередь). Поиск по дискам аналогичен режиму Auto. ¤ TargOS=GUI - режим с GUI, позволяет вручную выбрать целевую ОС. В меню выбора указывается подробная информация о названии/поколении ОС и её размещении. Если найдена только одна ОС, тогда GUI не используется, а единственная найденная ОС используется в качестве целевой. Поиск производится по всем корневым папкам, на всех дисках Fixed HDD. ¤ TargOS=E:\Windows - прямое указание пути к целевой ОС. ¤ TargOS=Not - не производить пересортировку буковок. Регистр букв для имён ключей и их значений не имеет значение (targos=AUTO то же, что и TargOS=Auto). Если ключ TargOS не указан, или указан неправильный ключ (неверный путь), это будет соответствовать режиму TargOS=Auto. Кроме пересортировки буковок, также производится присвоение буковок всем разделам накопителей (включая скрытые разделы, зависит от ключа HiddV), удаление дубликатов букв и букв-пустышек (букв, которым не соответствует ни один накопитель). Виртуальные диски (смонтированные с помощью ImDisk, OSF-Mount, BootPart и прочих программ) не перемонтируются. ■ MDisk=Y:\MyPath\MarkerFile.test - буква диска (Y:) и путь к маркеру (\MyPath\MarkerFile.test). В качестве маркера может выступать любой файл, размещенный по уникальному пути. Служит для идентификации диска со сборкой, этому диску будет присвоена своя буква диска (Y в примере). Допускается использование буквы диска A (если имеется флоппик на этой буковке, он будет утерян). Если MDisk не указан, используется ключ U:\2k10\Programs-2k10\Win2k78.bat (для монтирования носителя со сборкой 2k10 как U:\). Для сборки 2k10 также производится демонтирование программного пакета (диск Y:) перед работой скрипта. ■ HiddV=Not - не монтировать скрытые разделы дисков. Если ключ HiddV не указан или указано любое значение, кроме "Not", тогда скрипт при запуске смонтирует все разделы дисков, включая скрытые. Вариант запуска скрипта: PECMD.exe LOAD LettEX.wcs TargOS=E:\Windows MDisk=Y:\_WIN\78SETUP.CFG HiddV=Yes Сортировать согласно ОС в папке Windows на диске E:\, присвоить накопителю с маркером _WIN\78SETUP.CFG буковку Y:\, показывать скрытые разделы.-Запуск скрипта можно произвести из основного скрипта загрузки PECMD.ini, командой LOAD LettEX.wcs, или прямым вызовом PECMD.exe LOAD LettEX.wcs Для работы скрипта нужны версии PECMD за 2017 год и новее. Выложил архив (с перепаковкой /удалён мусор/ PECMD х86/х64 от 06.12.2017), с которым скрипт точно работает. Батником Pack_PECMD.cmd можно упаковать ЕХЕ-шки в mpress.
Последний раз редактировалось: Гость (2018-05-03 21:07), всего редактировалось 34 раз(а)
-gera_serg, со скриптом всё в порядке. Замени у себя в ядре PECMD на новую версию х64 (есть в шапке, можно упаковать mpress), подправь вызов скрипта на LOAD LettEx.wcs MDisk=Y:\CdUsb.Y Если не нужна сортировка буковок согласно ОС, тогда LOAD LettEx.wcs TargOS=NoWin MDisk=Y:\CdUsb.Y, будет быстрее отрабатывать. Ещё рекомендую EXEC --wait --hide PECMD.EXE SHOW -1:-1 перенести перед вызовом скрипта (или скрипт запускать после этого), чтобы скрипт попутно убрал буквы-двойники (а они бывают после работы SHOW -1:-1). Если показывать скрытые разделы не нужно, тогда можно вообще убрать EXEC --wait --hide PECMD.EXE SHOW -1:-1 - скрипт тоже подключает неподключенные разделы, но командой SHOW -1:0 (подключить все разделы, кроме скрытых).
Последний раз редактировалось: Гость (2018-04-08 16:47), всего редактировалось 1 раз
conty9, Спасибо, теперь работает... Непонятно, почему в твоих "репаках" PECMD Help не вызывается из трея, бывает полезно почитать и повыполнять отдельные команды в режиме отладки...
gera_serg, я удалил справку из ехе-шек для уменьшения размера. Пользователю WinPE оно, как бы, ни к чему. Полноценные ангельские сборки PECMD можно брать у барана. )))
52568gera_serg, я удалил справку из ехе-шек для уменьшения размера. Пользователю WinPE оно, как бы, ни к чему. Полноценные ангельские сборки PECMD можно брать у барана. )))
тут нарисовалась проблема Я часто пользуюсь твоей утилитой DaRT_RE, пункт восстановления запуска винды 7х64 из-под хемомовского ядра PE 8x64 (переименовав DaRT_RE.bin -> DaRT_RE.wcs) Методом проб подобрав конкретный работающий PECMD64 из какой-то твоей старой сборки... Сейчас смотрю, этот пункт в свежих PECMD (для LettEx.wcs) не стартует, а это для меня принципиально... Пришлось вернуться к старому варианту от NikZZZZ
В режиме UEFI+SecureBoot не установишь 7х64 - потому как в ней нет цифровых подписей. Поэтому и восстанавливать будет нечего в этом режиме загрузки. И PE 7x64 там не загрузится.
Последний раз редактировалось: Гость (2018-04-12 10:58), всего редактировалось 1 раз
Восстановление по кнопке Rec Env 7х64 уже перестало стартовать....
Сделал отдельный ехе-шник DaRT_RE, пробуй. Скрипт DaRT_RE.bin больше не нужен (интегрирован в ехе-шник).
имхо, может есть смысл сделать запуск LettEx.wcs без каких-либо параметров в режиме GUI
Утилита сделана для сортировки буковок на этапе запуска РЕ, когда окно с ожиданием выбора пользователя нецелесообразно. А GUI - как вариант, если пользователя не устроит автоматический выбор адекватной для РЕ лежачей ОС.
Последний раз редактировалось: Гость (2018-04-16 13:45), всего редактировалось 1 раз
В PECMD имеется две прямые команды для присвоения буковки накопителю: SHOW и SUBJ. Как оказалось, первая команда не синхронизирует присвоенные буквы с ОС, причём дело совсем не в реестре. Я уж было решил, что придётся переписывать почти всё под виндовый mountvol... Но, оказалось, SUBJ делает всё правильно. Так что осталось немного подкорректировать скрипт, и будет работать, как нужно.
Последний раз редактировалось: Гость (2018-04-20 11:34), всего редактировалось 2 раз(а)
Обновил скрипт, в шапке новый вариант. Изменения: 1. Заменил SHOW на SUBJ, следствием чего является синхронизация с WinPE переприсвоенных буковок. 2. Добавил ключ HiddV=No. Если значение "No" - тогда не монтировать скрытые разделы дисков, т.е. используется SHOW -1:0, в противном случае SHOW -1:-1. 3. Немного изменил схему проверки соответствия буковок для CD/DVD. Теперь должно и для этих устройств синхронизировать букву. Причём, даже если поколения целевой ОС и WinPE разные (например, Windows XP и WinPE 8x64). Хотя, если в системе два идентичных приводаCD/DVD (если модели полностью идентичны), тогда синхронизация не получится. ))) 4. Некоторые другие изменения.
Это не критерий. Например, у меня 4 харда. На 2-х есть ОС, на третьем - целых две. В общем-то, они у меня для тестов, основная одна. Но КАК её определить??? Порядок хардов определяется при загрузке, и 0-вым хардом будет загрузочная флешка, а всё остальное - как Bios/UEFI/Винда положат. У меня нет общего меню для всех ОС, просто выбираю при загрузке нужный хард. Впрочем, одна идейка нарисовалась. Можно анализировать дату доступа к куста реестра (например, SAM). Какой куст "новее" - та винда "загружаемая". Т.е., осталось ввести ещё один ключ TargOS=Last и реализовать сравнение.
Последний раз редактировалось: Гость (2018-04-20 11:30), всего редактировалось 2 раз(а)
52890sergeysvirid, повторю: у меня три харда с ОС. На каждом свой загрузчик со своим меню. А разгребать BCD-меню, к какому харду оно ведёт - то ещё удовольствие. А если ещё и контейнеры прописаны - вообще "сказка" (тем более, что с ними не засинхронишься). Вариант с временем доступа к реестру проще в реализации (и значительно быстрее при загрузке). Конечно, 100%-ной уверенности в выборе цели не даст, но довольно близко: вряд ли перед запуском РЕ мы юзали редкопользуемую ОС последней, скорее наоборот - любимую/ходовую.
Вариант с временем доступа к реестру - имхо самый правильный. Самое главное в этой задаче - не (псевдо)интеллект выбора, а предсказуемость и однозначность
Какие задачи будут решаються интелектульной предсказуемой однозначной сортировкой? 1. Домаший (известный) комп вдруг перестал загруждаться? Нужно восстановить работоспособность? 2. Поменять/добавить еще Систему к имеющимся? 3. Притащили черный ящик, просили восстановить работоспособность. 4. Дали временно поработать на железке, но хозяин отсутствует, "вход" не менять... Если это черный ящик - мне интересен GUI, определить в первую очередь что вообще там стоит/стояло...
Как оказалось, прежний вариант скрипта отлично работал при тестах после загрузки РЕ, но неадекватно - во время загрузки. Одна и та же команда FDRV (получить список буковок дисков) вела себя по-разному, "пропускала" буквы дисков. Поэтому иногда/некоторые ОС не удавалось найти, и вся схема летела под хвост. Вроде бы получилось привести её в чуство при запуске РЕ, по крайней мере у меня из 20 запусков все отработали, как надо. Закинул в шапку новый вариант. Изменения: скрипт пишет лог в файл LettEX.log; режим Auto теперь определяет целевую ОС как последнюю из загруженных пользователем (проверка по дате обращения к кусту реестра SAM). Внимание, изменились ключи запуска!!! Теперь EQU соответствует старому режиму Auto, также используются Not вместо NoWin и No (для крысоты!). ))
Последний раз редактировалось: Гость (2018-04-20 11:40), всего редактировалось 2 раз(а)
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы