[Цитировать]

    conty9
  • 100
  • Стаж: 3 года 11 месяцев
  • Сообщений: 969
  • Репутация:127

    [+] [-]
Скрипт позволяет пересортировать буквы 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.
Вложение

Скачать с usbtor.ru

Вложение

PeCMD (x86/x64) 06.12.2017



Последний раз редактировалось: conty9 (2018-05-03 21:07), всего редактировалось 34 раз(а)

[Цитировать]

    gera_serg
  • 1171
  • Стаж: 3 года 3 месяца
  • Сообщений: 1019
  • Репутация:-15

    [+] [-]
я правильно понимаю, что если в корне флешки находится маркерный файл my.mkr и я хочу, чтоб флешка получила букву Y нужна запись
CALL LettEx.wcs Marker=my.mkr MDrive=Y
вместо прежней типа
LetterSwap.au3 /BootDrive y:\my.mkr
имхо, раньше было лаконичней и понятней....

[Цитировать]

    conty9
  • 100
  • Стаж: 3 года 11 месяцев
  • Сообщений: 969
  • Репутация:127

    [+] [-]
-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 (подключить все разделы, кроме скрытых).


Последний раз редактировалось: conty9 (2018-04-08 16:47), всего редактировалось 1 раз

[Цитировать]

    gera_serg
  • 1171
  • Стаж: 3 года 3 месяца
  • Сообщений: 1019
  • Репутация:-15

    [+] [-]
conty9,
Спасибо, теперь работает...
Непонятно, почему в твоих "репаках" PECMD Help не вызывается из трея, бывает полезно почитать и повыполнять отдельные команды в режиме отладки...

[Цитировать]

    conty9
  • 100
  • Стаж: 3 года 11 месяцев
  • Сообщений: 969
  • Репутация:127

    [+] [-]
gera_serg, я удалил справку из ехе-шек для уменьшения размера. Пользователю WinPE оно, как бы, ни к чему.
Полноценные ангельские сборки PECMD можно брать у барана. )))

[Цитировать]

    gera_serg
  • 1171
  • Стаж: 3 года 3 месяца
  • Сообщений: 1019
  • Репутация:-15

    [+] [-]
52568gera_serg, я удалил справку из ехе-шек для уменьшения размера. Пользователю WinPE оно, как бы, ни к чему.
Полноценные ангельские сборки PECMD можно брать у барана. )))
тут нарисовалась проблема
Я часто пользуюсь твоей утилитой DaRT_RE, пункт восстановления запуска винды 7х64 из-под хемомовского ядра PE 8x64
(переименовав DaRT_RE.bin -> DaRT_RE.wcs)
Методом проб подобрав конкретный работающий PECMD64 из какой-то твоей старой сборки...
Сейчас смотрю, этот пункт в свежих PECMD (для LettEx.wcs) не стартует, а это для меня принципиально...
Пришлось вернуться к старому варианту от NikZZZZ
ah

[Цитировать]

    conty9
  • 100
  • Стаж: 3 года 11 месяцев
  • Сообщений: 969
  • Репутация:127

    [+] [-]
В режиме UEFI+SecureBoot не установишь 7х64 - потому как в ней нет цифровых подписей. Поэтому и восстанавливать будет нечего в этом режиме загрузки. И PE 7x64 там не загрузится.


Последний раз редактировалось: conty9 (2018-04-12 10:58), всего редактировалось 1 раз

[Цитировать]

    conty9
  • 100
  • Стаж: 3 года 11 месяцев
  • Сообщений: 969
  • Репутация:127

    [+] [-]
Обновил скрипт. Изменение небольшое: в GUI-режим добавил кнопку "Cancel" (т.е., не производить пересортировку). На скринах как было и как стало.

[Цитировать]

    conty9
  • 100
  • Стаж: 3 года 11 месяцев
  • Сообщений: 969
  • Репутация:127

    [+] [-]
Восстановление по кнопке Rec Env 7х64 уже перестало стартовать....
Сделал отдельный ехе-шник DaRT_RE, пробуй. Скрипт DaRT_RE.bin больше не нужен (интегрирован в ехе-шник).
имхо, может есть смысл сделать запуск LettEx.wcs без каких-либо параметров в режиме GUI
Утилита сделана для сортировки буковок на этапе запуска РЕ, когда окно с ожиданием выбора пользователя нецелесообразно. А GUI - как вариант, если пользователя не устроит автоматический выбор адекватной для РЕ лежачей ОС.


Последний раз редактировалось: conty9 (2018-04-16 13:45), всего редактировалось 1 раз

[Цитировать]

    conty9
  • 100
  • Стаж: 3 года 11 месяцев
  • Сообщений: 969
  • Репутация:127

    [+] [-]
В PECMD имеется две прямые команды для присвоения буковки накопителю: SHOW и SUBJ. Как оказалось, первая команда не синхронизирует присвоенные буквы с ОС, причём дело совсем не в реестре. Я уж было решил, что придётся переписывать почти всё под виндовый mountvol... Но, оказалось, SUBJ делает всё правильно. Так что осталось немного подкорректировать скрипт, и будет работать, как нужно.


Последний раз редактировалось: conty9 (2018-04-20 11:34), всего редактировалось 2 раз(а)

[Цитировать]

    conty9
  • 100
  • Стаж: 3 года 11 месяцев
  • Сообщений: 969
  • Репутация:127

    [+] [-]
Обновил скрипт, в шапке новый вариант.
Изменения:
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. Некоторые другие изменения.

[Цитировать]

    gera_serg
  • 1171
  • Стаж: 3 года 3 месяца
  • Сообщений: 1019
  • Репутация:-15

    [+] [-]
conty9,
В офисе с твоим новым вариантом размеры разделов не теряются...
Вечером попробую еще на своём специфичном домашнем.
Спасибо

[Цитировать]

    conty9
  • 100
  • Стаж: 3 года 11 месяцев
  • Сообщений: 969
  • Репутация:127

    [+] [-]
52881Какая загружаемая по умолчанию - та и C:\
Это не критерий. Например, у меня 4 харда. На 2-х есть ОС, на третьем - целых две. В общем-то, они у меня для тестов, основная одна. Но КАК её определить??? Порядок хардов определяется при загрузке, и 0-вым хардом будет загрузочная флешка, а всё остальное - как Bios/UEFI/Винда положат. У меня нет общего меню для всех ОС, просто выбираю при загрузке нужный хард.
Впрочем, одна идейка нарисовалась. Можно анализировать дату доступа к куста реестра (например, SAM). Какой куст "новее" - та винда "загружаемая". Т.е., осталось ввести ещё один ключ TargOS=Last и реализовать сравнение.


Последний раз редактировалось: conty9 (2018-04-20 11:30), всего редактировалось 2 раз(а)

[Цитировать]

    korsak7
  • 107
  • Стаж: 3 года 11 месяцев
  • Сообщений: 542
  • Репутация:44

    [+] [-]
52890sergeysvirid, повторю: у меня три харда с ОС. На каждом свой загрузчик со своим меню. А разгребать BCD-меню, к какому харду оно ведёт - то ещё удовольствие. А если ещё и контейнеры прописаны - вообще "сказка" (тем более, что с ними не засинхронишься).
Вариант с временем доступа к реестру проще в реализации (и значительно быстрее при загрузке). Конечно, 100%-ной уверенности в выборе цели не даст, но довольно близко: вряд ли перед запуском РЕ мы юзали редкопользуемую ОС последней, скорее наоборот - любимую/ходовую.
Вариант с временем доступа к реестру - имхо самый правильный.
Самое главное в этой задаче - не (псевдо)интеллект выбора, а предсказуемость и однозначность

[Цитировать]

    gera_serg
  • 1171
  • Стаж: 3 года 3 месяца
  • Сообщений: 1019
  • Репутация:-15

    [+] [-]
Какие задачи будут решаються интелектульной предсказуемой однозначной сортировкой?
1. Домаший (известный) комп вдруг перестал загруждаться? Нужно восстановить работоспособность?
2. Поменять/добавить еще Систему к имеющимся?
3. Притащили черный ящик, просили восстановить работоспособность.
4. Дали временно поработать на железке, но хозяин отсутствует, "вход" не менять...
Если это черный ящик - мне интересен GUI, определить в первую очередь что вообще там стоит/стояло...

Страница 1 из 4


Показать сообщения:    

Текущее время: 18-Ноя 09:29

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы