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

    Evgene
  • 18002
  • Стаж: 6 лет 1 месяц
  • Сообщений: 13
  • Репутация:0

    [+] [-]
Спасибо, все получилось с другим файлом.

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

    generator324
  • 20694
  • Стаж: 5 лет
  • Сообщений: 62
  • Репутация:0

    [+] [-]
Использую PECMD для монтировки/изменения wim-образов под WinPE - очень удобно! Спасибо conty9, подавшему эту замечательную идею ! (где-то я об этом прочитал, сейчас уже не найду ac )
А как использовать PECMD под реальной системой, не РЕ? Вроде какие-то драйвера надо в систему установить, какие? Ткните носом - не найду никак.
И ещё вопросик - с помощью PECMD вообще можно добавить ДРАЙВЕРА? В WinPE в частности. Или же в WinPE драйвера интегрировать вообще невозможно, только ставить всякими автоустановщиками?

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

    generator324
  • 20694
  • Стаж: 5 лет
  • Сообщений: 62
  • Репутация:0

    [+] [-]
1-ю часть вопроса снимаю - скачал по ссылкам здесь PECMD2012.1.88.05.79-171206_Stable-RU-EN-X64, там был файлик PECMD-RU-X64.EXE ab Прописал нужные пути - и всё заработало! ay
Походу, он (PECMD-RU-X64.EXE) сам подгружает нужный ему драйвер, всё просто.
Кстати, может есть версия по-свежее? Только не на Кхетайском! ab
Но вот с ИНТЕГРАЦИЕЙ ДРАЙВЕРОВ непосредственно в Windows PE... Понимаю, что в здешней теме это злостный оффтоп - прошу, укажите, кто знает где это обсуждается aa

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

    Гость
  • Репутация:0

    [+] [-]
generator324, под обычной ОС PECMD работает точно так же, как и под РЕ. Драйверов не нужно. С помощью PECMD драйвера добавить несложно, для этого служит комманда DEVI. Для установки служб используем команду SERV.
DEVI %WinDir%\inf\cpu.inf
SERV-create AppleHFS,System32\DRIVERS\AppleHFS.sys,1,3,1,,,,AppleHFS Driver

Описание DEVI

DEVI [*rescan] [*norescan] [*devclass:DevClass] [$]<CABPath>[,MatchLevel[,ExtractDir]]
DEVI [*rescan] [*norescan] [*nocheck] <INFPath>[,DevClass]
DEVI [*rescan] [*norescan] <DirWithSubdirOfINF>[,DevClass]
DEVI [*rescan] [*norescan] <*sub|*self> <DirWithINFFile>[,DevClass]
DEVI $[$]<INFPath>,[InstSection],[ActionCode] <===StandardInstall,DefaultInstall,132
DEVI [*rescan] [*norescan] *extract <CABPath>,[MatchLevel],ExtractDir <===установка
DEVI [*rescan] [*norescan] *nocheck <CABPath>,[MatchLevel],ExtractDir,INF relative path
<===В соответствии с INF
DEVI *rescan <===Для повторной проверки
DEVI listdev:VarName [*devclass:DevClass] [*ALL] [*listdev=i|*listdev=c] [*rescan]//to query
DEVI *
  • disverify <===Отключить проверку драйверов (** - принудительно)
    DEVI <*enable|*disable>:DeviceID <===Включить / отключить устройство
    Поиск (установка) драйвера из CAB, INF или указанного каталога.
    Параметры
    *dummy указывает не на установку, а на отладку,например просмотр DevClass.
    *devid: DeviceID, для установки указанного драйвера
    *nnverify: не отключать подписи драйвера veryfying;
    *rverify: восстановить отключение подписи драйвера;
    *7pe [-]: принудительно использовать
    *nocheck: установить принудительно без проверки ID оборудования;
    *norescan: отключить повторное сканирование аппаратных изменений
    *auto: автоматически переключаться между обработкой INF или нет используется для CAB.)
    *Sys: для копирования в системный каталог.
    Для указания пути CAB: "$" перед тем, как CAB укажет на установку драйвера после его извлечения, или если он не установлен, может быть встроен.
    "$" перед тем, как INF укажет на выполнение стандартного режима копирования, или только загрузку драйвера (не загрузится, если устройство не существует);
    *nocheck: установить принудительно без проверки ID оборудования;
    *rescan:повторное сканирование аппаратных изменений (по умолчанию для установки NT6 без каких-либо усилий).
    *norescan: отключить повторное сканирование аппаратных изменений;
    MatchLevel: количество разделов для DeviceID, разделенных символом &, 2 по умолчанию;
    To query:DeviceID по умолчанию,
    *listdev=c:ID совместимый,
    *listdev=i:уникальный идентификатор;
    *ALL:i Включая устройства, не существующие.
    ================================================
    DEVI %SystemRoot%\Inf\oem*.INF
    DEVI *sub %SystemRoot%\Inf,Net
    DEVI *sub %SystemRoot%\Inf,Usb //установить все Usb???
    DEVI *retid:&&IDS $%SystemRoot%\DRV.CAB
    DEVI MyInf*.INF
    DEVI %SystemRoot%\Inf\*.INF
    DEVI %SystemRoot%
    DEVI *extract myCab.CAB,,D:\ABC //для распаковки архива myCab.CAB в D:\ABC
    DEVI *dummy *sub D:\ABC //для печати DevClass для всех INF в папке D:\ABC в логи LOGS
    DEVI *sub D:\ABC,Net //Для поиска и установки сетевого драйвера в D:\ABC
    DEVI *devclass:Net $D:\DRV.CAB,,%TEMP% //Поиск,установка сетевого драйвера в D:\DRV.CAB
    DEVI *devid:PCI\VEN_8086&DEV_1229 $D:\DRV.CAB,,%TEMP% //Сетевая карта Intel8255x
    DEVI *disable:PCI\VEN_14E4&DEV_16B5&SUBSYS_05001025&REV_10\4&14C08592&0&00E3 //Для отключения сетевой карты BCM.
    DEVI $$D:\MyDrvs\Drv1.inf //Стандартный режим установки, DefaultInstall, 132
    Эта команда применяет самоопределяемый (несистемный) алгоритм поиска драйверов,
    В архиве CAB не забудьте поместить каждый драйвер в отдельный каталог и убедиться, что INF-файл всегда находится в самом начале текущего каталога.
    Для его создания архива рекомендуется использовать соответствующую программу XCAB.
    Если драйверы находятся в архиве CAB, тогда "$" и [ExtractDir] нельзя использовать одновременно
    в NT5.x OS (кроме режима NT6.x или * sys), но они могут отсутствовать.
    Если "$" отсутствует, команда будет только извлекать файлы.
    Если [ExtractDir] отсутствует, DEVI будет извлекать драйвер в соответствии с драйвером. Файлы INF будут извлечены в "%WinDir%\INF", SYS - в "%WinDir%\SYSTEM32\DRIVERS", все остальные файлы в "%WinDir%\SYSTEM32".
    Если драйверы находятся в форме CAB, в операционной системе NT6.x с '$', [ExtractDir] является временным каталогом в %TEMP%, если оно равно NULL или * (Таким образом, с * sys).
    Каталог будет автоматически удаляться после установки драйверов. Если присутствует в соответствии со структурой каталогов CAB.With '$' указывает на установку драйвера в целевой каталог после извлечения.
    Если другие файлы должны быть извлечены в указанный каталог, замените разделитель каталогов в имени файла на "#", например, файлы в "SYSTEM32 # WBEM # MOF # XXX.MOF" будут извлечены в "%SystemRoot%\SYSTEM32\WBEM\MOF\XXX.MOF".
    В NT6.x WinPE, DEVI будет непосредственно устанавливать "%WinDir%\INF" без особого соответствия идентификатора оборудования.
    Еще одна функция этой команды - искать драйверы с локальных дисков, таких как "DEVI\Windows, Дисплей".
    Команда еще не идеальна, и она предоставит диалоговое окно для файлов драйверов. Следовательно, для этой функции недоступны технологические поддержки.
    *Self указывает на поиск * .inf в каталоге с INF-файлом, * sub указывает на поиск в каталоге с INF-файлом, а также в его подкаталоге; *self *sub оба отсутствующих означает поиск в каталоге с INF \*.Inf
    DevClass: Battery CDROM Computer DiskDrive Display FloppyDisk HIDClass Image Infrared Keyboard MEDIA Media Monitor Mouse Net PCMCIA Ports Processor SCSIAdapter System USB Volume fdc hdc
  • Описание SERV

    SERV [-wait] [Switch][?RetVarName] [!]<SrvName> |
    SERV-create [?RetVNm] SvrName,binPath,SvrTp,Start,ErrCtrl,Dependence,objname,passwd,DispName|
    SERV-delete [-stop-] [?RetVNm] SvrName //include stopping if no -stop- |
    Switch: -boot -system -auto -demand -disabled -delayed-auto |
    --------------------------------------------------------------------------------
    Чтобы включить, отключить или опросить службу или драйверы.
    Если указано имя с "!" (SrvName."!") - это означает отключение службы, в противном случае - включение
    --------------------------------------------------------------------------------
    SERV-create имя_службы,system32\drivers\драйвер.sys,Srv_Type,Srv_Start,Srv_ErrControl,,,,Отображаемое Имя
    SERV-create imdisk,system32\drivers\imdisk.sys,1,2,0,,,,ImDiskVirtualDiskDriver
    SERV-create cfadisk,System32\DRIVERS\cfadisk.sys,1,3,0,,,,Flashdrive Driver
    SERV-delete cfadisk
    SERV! AudioSrv отключить службу AudioSrv
    --------------------------------------------------------------------------------
    Эту команду можно использовать для включения службы FBWF (если она установлена),
    чтобы сделать возможной запись на системный диск, когда PE запущена с компакт-диска.
    Возвращаемые результаты запроса: ErrorCode ServiceType CurrentState ControlsAccepted Win32ExitCode ServiceSpecificExitCode CheckPoint dwWaitHint dwProcessId dwServiceFlags


    Последний раз редактировалось: Гость (2019-10-27 12:01), всего редактировалось 1 раз

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

      loban_ser
    • 17796
    • Стаж: 6 лет 2 месяца
    • Сообщений: 578
    • Репутация:24

      [+] [-]
    71050А как использовать PECMD под реальной системой, не РЕ?
    Скопируйте PECMD в "C:\Windows\System32" соответствующей разрядности

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

      generator324
    • 20694
    • Стаж: 5 лет
    • Сообщений: 62
    • Репутация:0

      [+] [-]
    С помощью PECMD драйвера добавить несложно, для этого служит комманда DEVI
    Добавить - это УСТАНОВИТЬ уже после загрузки РЕ, так? Например, в автоматическом (или ручном) режиме.
    А я имел ввиду процедуру, аналогичную производимой M$ DISM:
    DISM.exe /image:d:\Mount /Add-Driver /driver:D:\Drivers\NET /recurse /ForceUnsigned
    После подобного драйвер уже находится внутри дистрибутива; не нужны все эти танцы с бубном. Может, это и не очень хорошая практика, но я для себя не вижу ничего плохого в том, что нужный мне драйвер сразу есть в системе. Если не перегружать её (систему) ненужными драйверами, конечно.
    Для установки служб используем команду SERV
    Это тоже инетесно, хотя я не совсем до конца понял. Поясню.
    Столкнулся с интересной вещью: если при загруженной Windows PE "установить" программу, использующую службы, и запустить эту(и) службу(ы), то ВСЁ РАБОТАЕТ !!! Есс-но, в рамках текущего сеанса; после перезагрузки всё потеряется. Программу саму я потом в Windows PE добавить могу, настройки (реестр) - тоже. А службы?
    У меня не получилось ac
    Я копировал в .wim все нужные файлы, добавлял в "HKLM\SYSTEM\CurrentControlSet\services\Нужный Сервис" требуемые параметры запуска, но... При загрузке Windows PE служба есть, а стартовать она не может. Что не так?
    Скопируйте PECMD в "C:\Windows\System32" соответствующей разрядности
    Я уже понял, благодарю.

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

      Ander_73
    • 15549
    • Стаж: 7 лет 2 месяца
    • Сообщений: 3610
    • Репутация:127

      [+] [-]
    71060А службы?
    Почитайте тему.

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

      generator324
    • 20694
    • Стаж: 5 лет
    • Сообщений: 62
    • Репутация:0

      [+] [-]
    71063
    71060А службы?
    Почитайте тему.
    Читал. Ранее. Правда, пока до использования руки не дошли - не был уверен, что мне это нужно.
    Давайте пока с точки зреня "чистой физики" ab :
    1. По "простому" (как делал я) перенести службу (например, с компа на комп - достал меня в своё Гугл вольной инетерпретацией этого моего вопроса) НЕЛЬЗЯ, так?
    2. Для этого нужно применять "специальные средства", которые будут учитывать неизвестные мне нюансы, так?
    3. Утилита от nikzzzz решает этот вопрос. Так?

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

      Ander_73
    • 15549
    • Стаж: 7 лет 2 месяца
    • Сообщений: 3610
    • Репутация:127

      [+] [-]
    generator324, утилита упрощает (не более того) процесс установки службы. На самом деле, она просто копирует функционал штатной утилиты sc и нужна, в основном, для WinPE, где sc (или нужных для неё зависимостей) может не быть. Сам процесс установки службы (с "неизвестными нюансами") всё равно на Вас.

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

      generator324
    • 20694
    • Стаж: 5 лет
    • Сообщений: 62
    • Репутация:0

      [+] [-]
    утилита упрощает (не более того) процесс установки службы. На самом деле, она просто копирует функционал штатной утилиты sc
    Вот поэтому я изначально и "прошёл мимо" ab Правда, вот это очень заинтересовало - стоит попробовать:
    нужна, в основном, для WinPE, где sc (или нужных для неё зависимостей) может не быть.
    Возможно, какую-то специфику Windows PE я так и недоучёл... Хотя sc на той WinPE точно есть, да и работоспособность её (sc.ехе) не вызывает сомнений.
    Сам процесс установки службы (с "неизвестными нюансами") всё равно на Вас.
    Это-то понятно, непонятно другое: "перенесённый сервис" (папка с файлами + системные настройки в HKLM, т.е. непосредственно "сам сервис") не просто не работает - он не запускается ВООБЩЕ, даже принудительно. Причём сообщение об ошибке банально: "Сервис не может быть запущен", без каких либо подробностей. Поскольку сервис не системный, то и логи тут мало чем могут помочь - они, по-сути "пустые" (логи).
    Опыта большого по "переносу" именно сервисов у меня нет, а интернет помогает слабо - тот же гугл, как я не формулировал вопрос, воспринимает его как "перенос системы" (Windows) ag
    Поэтому долго (и - Безуспешно, увы!) пытался найти какой либо софт, позволяющий решать вопросы "транспорта" отдельных сервисов: взять работающий сервис с одного компа (одной системы), сохранить его в некий "инсталлятор" для переноса на другой комп/систему (комп может быть один тот же, системы - разные, та же WinPE, например).
    В общем, мы уже скатились в злейшейший оффтопик - продолжать об этом (Сервисы) надо явно не здесь. Где?
    И у меня остался ещё Главный Вопрос к conty9, в рамках этого топика:
    Всё-таки, PECMD может только УСТАНОВИТЬ драйвера на уже загруженную систему (WinPE)?
    А если мне надо ИНТЕГРИРОВАТЬ 1-2-3 (не более) ДРАЙВЕРА в сам образ WinPE (wim), чтобы система загружалась уже "Готовой", PECMD мне может помочь?
    Видел решения, когда через различные сценарии запускается распаковка/установка Драйверов при уже загруженной WinPE - это немного "не то".
    В частности, если я у себя ставлю таким макаром старую карточку ATI (AMD), то эта установка проходит только в "ручном режиме": запускается WinPE, я клацаю на свой созданный "установщик ATI" (cmd/vbs/etc. - последний раз пробовал через dpinst, до этого пытался через devcon, через тот же "rundll32.exe advpack.dll,.." и т.д.), установка УСПЕШНО проходит, но... только при уже загруженной WinPE! Если пытаться через всякие там "автозагрузки", в том числе и преусловутый PECMD, то - болт ac
    В чём дело - я х.з.

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

      Ander_73
    • 15549
    • Стаж: 7 лет 2 месяца
    • Сообщений: 3610
    • Репутация:127

      [+] [-]
    71073В общем, мы уже скатились в злейшейший оффтопик - продолжать об этом (Сервисы) надо явно не здесь. Где?
    Создайте тему в разделе Спасите!Помогите!, сформулируйте проблему и можно обсуждать.

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

      Гость
    • Репутация:0

      [+] [-]
    generator324, как я вижу, вы и сами поняли разницу между установкой драйвера и его интеграцией. PECMD умеет устанавливать драйвер. А для интеграции (т.е., внедрения в незапущенную систему) нужно использовать DISM или DISM++. Последний позволяет комфортно использовать возможности того же DISM, например, интегрировать сразу пакет драйверов.
    По поводу сервисов: для успешного запуска служб и сервисов в РЕ может банально не хватать библиотек и прочих сервисов (от которых зависит устанавливаемый сабж). И простого единого решения проблемы незапуска нет. PECMD чудес не делает, он использует системные функции. Если система позволяет запустить сервис/службу/драйвер - тогда без проблем. Разница лишь в том, что PECMD обращается к нужным функциям системы, минуя ехе-файлы. В частности, для монтирования wim не нужен imagex.exe, для установки драйверов и служб не нужны pnputil.exe, DPInst.exe и sc.exe.

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

      generator324
    • 20694
    • Стаж: 5 лет
    • Сообщений: 62
    • Репутация:0

      [+] [-]
    71077generator324, как я вижу, вы и сами поняли разницу между установкой драйвера и его интеграцией.
    Угу. И даже самостоятельно пошёл немного дальше - в сторону DISM++. Ранее, с "обычным" Windows 7 / Server 2008 R2 я использвал "простой" DISM и всё получалось. А тут - ни в какую!
    Нашёл для себя DISM++, почитал и решил попробовать. Понимаю, что и обсуждать надо бы в той теме, но...
    Обсуждать тут (или там) нечего! Или же я ничего не понимаю, или... DISM++ не умеет УДАЛЯТЬ драйвера, только ДОБАВЛЯТЬ. А зачем, извините, он нужен такой хороший? Тот же nLite (в своё время я вдоволь под ХР наупражнялся) делает это без проблем, а DISM++ не может ac
    PECMD умеет устанавливать драйвер.
    Тоже как-то странно. Но это я не разобрался скорее, всего - времени не хватило.
    А для интеграции (т.е., внедрения в незапущенную систему) нужно использовать DISM или DISM++. Последний позволяет комфортно использовать возможности того же DISM, например, интегрировать сразу пакет драйверов.
    Не знаю, как насчёт "пакета" - он (DISM++) у меня и с 2-мя драверами не справился. Вернее, он их интегрировал - да, но Windows их не "подхватывает" - приходится запускать "Обновление драйвера" и указывать саму папку Windows (X:\Windows). Тогда - устанавливается. Ну, и нафик мне такая "интеграция"?
    А главное, я уже написал Выше: я теперь эти драйвера удалить НЕ МОГУ: не умеет DISM++ такого, похоже.
    По поводу сервисов: для успешного запуска служб и сервисов в РЕ может банально не хватать библиотек и прочих сервисов (от которых зависит устанавливаемый сабж).
    Я мониторил всё, что ставится при установке - вроде ничего не забыл...
    И простого единого решения проблемы незапуска нет.
    Ну, это естественно. Просто не пойму, в чём затыка. Методом "тыка" удалось автоматизировать установку нужного приложения без пост-эффектов: не понятно почему, но при установке на реальных машинах (используется ключа "/Q" для msi-installer) машина уходит в перезагруз, на "добавку" /noreboot не реагирует (видимо, в самом инсталляторе заблокированно). Под WinPE такого (reboot) не происходит, по совершенно непонятной для меня причине...
    В общем, приложение теперь ставится автоматически при загрузке самой WinPE ab , правда сервис сам почему-то не стартует (вернее, понятно почему - перезагрузку хочет, подлец. Хотя и на net restart, по идее должен бы согласится). Поковыряю ещё - есть мысли...
    PECMD чудес не делает, он использует системные функции. Если система позволяет запустить сервис/службу/драйвер - тогда без проблем. Разница лишь в том, что PECMD обращается к нужным функциям системы, минуя ехе-файлы. В частности, для монтирования wim не нужен imagex.exe, для установки драйверов и служб не нужны pnputil.exe, DPInst.exe и sc.exe.
    Ясно. Спасибо за ценную для меня информацию - я-то параллельно с PECMD запускал свои "чудо" vbs/cmd как раз с этими pnputil.exe, DPInst.exe, etc. Понятны теперь стали многие вещи az
    Хотя, по существу, и в разобранной мной сборке PE8m(NET) от Xenom1 примеров хватает. Только запутанно всё - для тех, кто первый раз (почти ae ) этим занялся...

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

      Nestor2015
    • 17157
    • Стаж: 6 лет 5 месяцев
    • Сообщений: 122
    • Репутация:12

      [+] [-]
    DISM++ не умеет УДАЛЯТЬ драйвера
    а режим эксперта пробовали?

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

      generator324
    • 20694
    • Стаж: 5 лет
    • Сообщений: 62
    • Репутация:0

      [+] [-]
    71107
    DISM++ не умеет УДАЛЯТЬ драйвера
    а режим эксперта пробовали?
    ai Нет, конечно - Благодарю! az Надо же, а в теме и не сказали... al

    Страница 13 из 28


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

    Текущее время: 27-Апр 09:45

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


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