Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista (http://forum.oszone.net/forumdisplay.php?f=83)
-   -   [статья] Интеграция драйверов (http://forum.oszone.net/showthread.php?t=129244)

Vadikan 20-01-2009 14:00 1013780

[статья] Интеграция драйверов
 
Автоматическая установка Windows Vista » Интеграция драйверов
Процесс интеграции драйверов очень прост. Все драйверы размещаются в одной папке, причем они могут находиться как в ее корне, так и во вложенных папках. Затем подключается системный образ (install.wim) и с помощью диспетчера пакетов (pkgmgr.exe) осуществляется установка драйверов в образ....


Читать дальше...

Полезные ссылки темы
Пример интеграции драйверов с помощью peimg

Boa Soft 23-01-2009 01:14 1016431

А есть разница между использованием диспетчера пакетов, описанного в статье, и peimg.
Я пользовался peimg и все нормально отрабатывало. Или, такой способ не рекомендуется?

Код:

@ECHO OFF
setlocal enabledelayedexpansion


for /f %%F in ('dir Drivers\*.inf /b /s') do Call :Integrate "%%F"
goto exit



:Integrate
tools\peimg\peimg /inf=%1 mount\windows
GoTo :EOF

:Exit
exit


Vadikan 23-01-2009 02:26 1016466

Boa Soft, я думаю, что эти средства (peimg и pkgmgr) разрабатывались разными продуктовыми группами, поэтому у каждой оказалось по своему инструменту - у одной для работы с системными образами, а у другой - с образами PE. Если смотреть с точки зрения рук-ва пользователя WAIK, то там используется pkgmgr, а если заглянуть в рук-во пользователя WinPE - peimg (в этом случае речь, конечно, идет об интеграции драйверов в образ PE).

В принципе, эти способы взаимозаменяемы, наверное. Честно говоря, я не знаю о каких-то отличиях в плане интеграции драйверов. Возможно, peimg лучше подойдет для интеграции несертифицированных драйверов. Мне кажется, что при интеграции таких драйверов с pkgmgr во время установки могут вылезти предупреждающие окна, а уж в PE они точно никому не нужны. Я не проверял этот момент.

С точки зрения удобства... Описанный в статье способ позволяет сложить все драйверы в одну папку, а уж сколько там будет вложенных папок - неважно. А твой батник позволяет это делать за счет dir /s, как я понимаю?

Вообще, в W7 не будет ни того, ни другого :) DISM Replaces pkgmgr, PEImg, and IntlConfg Tools (Windows)

Boa Soft 23-01-2009 12:34 1016771

Цитата:

Цитата Vadikan
В принципе, эти способы взаимозаменяемы, наверное. Честно говоря, я не знаю о каких-то отличиях в плане интеграции драйверов. Возможно, peimg лучше подойдет для интеграции несертифицированных драйверов. Мне кажется, что при интеграции таких драйверов с pkgmgr во время установки могут вылезти предупреждающие окна, а уж в PE они точно никому не нужны. Я не проверял этот момент. »


При интеграции окон не вылезает. Неподписанные драйвера добавились в хранилище то же. Проверить установку неподписанных драйверов пока не удавалось - все оборудование под висту шло новое и дрова подписанные.

Цитата:

Цитата Vadikan
А твой батник позволяет это делать за счет dir /s, как я понимаю? »

Именно так.

Цитата:

Цитата Vadikan
W7 »

Вчера бетту поставил. первое впечатление положительное.

Boa Soft 23-01-2009 21:27 1017262

Возможно, стоит добавить, что для драверов контроллеров устройств хранения (mass storage) необходимо все проделать и с boot.wim. Иначе установщик на не увидит диск на нестандартном контроллере.

e9990638 17-02-2009 17:36 1041428

Привет всем.
Я интегрировал драйверы в образ при помощи программы Vista Update Integrator. Все хорошо, все устройства на местах, опознаются нормально, но с видеокартой какая-то "непонятка".
У меня видеокарта NVIDIA GeForce 8800 GTS 512 на одном и NVidia GeForce GTX 280 на другом - обе опознаются, работают, но после установки Vista - разрешение 800*600, приходится вручную устанавливать режим разрешения.
Ранее (кода устанавливал драйвер вручную) система сама выставляла разрешение и частоту оптимальным образом, как правило - максимальные поддерживаемые значения. Возможно ли решить это?
Кстати при установки Vista, вначале разрешение видео как всегда - низкое, но ближе к концу установки разрешение становится нормальным, но после последней перегрузки - 800*600.
Спасибо за ответ.

Vadikan 17-02-2009 19:46 1041534

e9990638, добавьте параметры разрешения для прохода oobeSystem.

e9990638 17-02-2009 22:57 1041760

Vadikan,
Если я задам параметры разрешения, не будут ли эти параметры создавать ошибки при смене видеокарты, монитора или на другом компьютере? Весь смысл заключается в том, что система обнаружила оборудование и установила соответсвующий драйвер и оптимальное разрешение (если драйвер найден), если нет - стандартый VGA?

Vadikan 17-02-2009 23:44 1041796

e9990638, Vista в любом случае не позволит установить неподдерживаемые параметры.

e9990638 18-02-2009 00:37 1041838

Vadikan,
Спасибо.

CtrlSoft 23-04-2009 01:33 1101596

Создал командный файл который автоматизирует процесс установки драйверов в образ:
читать дальше »
Код:

:: Drivers Automated Integration Script  v.09.02.22 (C) CtrlSoft 2009
@echo off
color 2e
::------------------------------------------------------------------------------------------------------------
:: Установка переменной %dvd%
SET dvd=\VistaWork\DVD

:: Установка переменной %mount%
SET mount=\VistaWork\Mount

:: Установка переменной %install.wim%
SET install.wim=\VistaWork\DVD\sources\install.wim

:: Установка переменной %peimg%
SET peimg="%ProgramFiles%\Windows AIK\Tools\PETools\peimg.exe"

:: Установка переменной %imagex%
SET imagex="%ProgramFiles%\Windows AIK\Tools\%processor_architecture%\imagex.exe"
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal enabledelayedexpansion
::------------------------------------------------------------------------------------------------------------
:: Определение архитектуры дистрибутива
IF EXIST %dvd%\bootmgr.efi GOTO :x64
IF NOT EXIST %dvd%\bootmgr.efi GOTO :x86
::------------------------------------------------------------------------------------------------------------
:x64
Call :mount
for /f %%F in ('dir \VistaWork\Drivers\x64\*.inf /b /s') do Call :Integrate "%%F"
goto :commit
::------------------------------------------------------------------------------------------------------------
:x86
Call :mount
for /f %%F in ('dir \VistaWork\Drivers\x86\*.inf /b /s') do Call :Integrate "%%F"
goto :commit
::------------------------------------------------------------------------------------------------------------
:Integrate
TITLE Интеграция драйверов c помощью PEImg - Интеграция драйверов
cls
echo.
%peimg% /inf=%1 %mount%\windows
GoTo :EOF
::------------------------------------------------------------------------------------------------------------
:commit
TITLE Интеграция драйверов c помощью PEImg - Применение изменений
CLS
%imagex% /unmount /commit %mount%
GOTO :compress
::------------------------------------------------------------------------------------------------------------
:compress
TITLE Интеграция драйверов c помощью PEImg - Сжатье образа
echo.
SET /P Choice=Хотите сжать образ? (это может занять длительное время) (y=да, n=нет):
IF "%Choice%"=="y" GOTO :export
IF "%Choice%"=="n" GOTO :Exit
::------------------------------------------------------------------------------------------------------------
:export
mkdir \VistaWork\Temp
SET tmpwim=\VistaWork\Temp\install.wim
CLS
%imagex% /export /compress maximum %install.wim% 1 %tmpwim%
move /y %tmpwim% %install.wim%
GOTO :Exit
::------------------------------------------------------------------------------------------------------------
:Exit
echo.
pause
exit
::------------------------------------------------------------------------------------------------------------
:error
color 0c
cls
echo.
echo Ошибка! Образ не найден.
echo.
pause
exit
::------------------------------------------------------------------------------------------------------------
:mount
cls
TITLE Интеграция драйверов c помощью PEImg - Монтирование образа install.wim
IF EXIST %install.wim% %imagex% /mountrw %install.wim% 1 %mount%
IF NOT EXIST %install.wim% GOTO :error
::------------------------------------------------------------------------------------------------------------



В первую очередь спасибо Boa Soft за его пример установки через PEImg, без него я бы (скорее всего) не справился.

...Итак, что же делает cmd-шник? - Создает переменные для папок и нужных утилит, автоматически определяет архитектуру дистрибутива
а также драйверы которые следует интегрировать, монтирует образ install.wim (индекс 1) и интегрирует драйвера.
После окончании сохраняет изменения и предлагает сжать образ (индекс 1).


Требования:
Для того чтобы скрипт заработал, нужно его запустить! :) А точнее, должны существовать стандартные папки + папка Drivers в корень VistaWork.
В папке Drivers создайте папки x86 и x64 а в них скопируйте папки с драйверами. Внимание! Поддерживаются только одноуровние папки!
(Я заметил что если создать подпапки, например .\x86\VGA\nVidia, то драйверы не интегрируются. Точнее интегрируются но в содержании
INF-файлов не присутствуют данные драйвера а иероглифы (больше всего китайских :) ) и разные крякозабы)
Пример создания директорий
читать дальше »
Код:

F:\VISTAWORK\DRIVERS
├───x64
│  ├───ATK_ACPI_1043.4.0.0_ATK0110
│  ├───AUDIO_Realtek_HD_Audio_6.0.1.5391_ALC883
│  ├───AUDIO_SoundMAX_6.10.6280
│  ├───CHIPSET_Intel_Chipset_8.3.0.1011_Q33_G33_G31_P35
│  ├───LAN_Attansic_2.0.6000.0_L1
│  ├───LAN_Realtek_6.190.115.2007_RTL8169_8110_8168_8111_8101
│  ├───RAID_JMicron_Jmb363_1.17.15.00
│  ├───TUNER_AVerMedia_TV_1.3.x.67_M038_M039_HC80_A868_E509
│  ├───VGA_Intel_Graphics_Media_Accelerator_7.14.10.1255_G33
│  ├───VGA_nVidia_GeForce_182.50_international
│  └───WIRELESS_Realtek_Wi-Fi_6.1285.0215.2007_RTL8187
└───x86
    ├───ATK_ACPI_1043.4.0.0_ATK0110
    ├───AUDIO_Realtek_HD_Audio_6.0.1.5391_ALC883
    ├───AUDIO_SoundMAX_6.10.6280
    ├───CHIPSET_Intel_Chipset_8.3.0.1011_Q33_G33_G31_P35
    ├───LAN_Attansic_2.0.6000.0_L1
    ├───LAN_Realtek_6.190.115.2007_RTL8169_8110_8168_8111_8101
    ├───RAID_JMicron_Jmb363_1.17.15.00
    ├───TUNER_AVerMedia_TV_1.3.x.67_M038_M039_HC80_A868_E509
    ├───VGA_Intel_Graphics_Media_Accelerator_7.14.10.1255_G33
    ├───VGA_nVidia_GeForce_182.50_international
    └───WIRELESS_Realtek_Wi-Fi_6.1285.0215.2007_RTL8187


Также нужен текстовой редактор который умеет сохранять текст в кодировке 866 (AkelPad, Bred...),
скопированый дистрибутив ОС в \VistaWork\DVD и пара нажатий кнопок.

Мнение автора:
Я подумал, зачем каждый раз открывать WSIM чтобы добавить тот или иной драйвер, плюс к этому ждать (иногда) пока создастся файл каталога
(недостаток еще в том что в 64-разрядной ОС нельзя создать каталог для 32-разрядной версии), потом писать в командной строке
нужные команды для выполнения и так далее... надо как-то автоматизировать данный процесс и вспомнил про сообщение Boa Soft, то что нужно обрадовался я...

P.S. Ваши примечания по поводу скрипта приветствуются.

Svet98 06-05-2009 21:09 1112307

Можно еще проще, для восприятия :)
Цитата:

@ECHO OFF
setlocal enabledelayedexpansion

for /f %%F in ('dir Drivers\*.inf /b /s') do Call :Integrate "%%F"
goto exit

:Integrate
tools\peimg\peimg /inf=%1 mount\windows
GoTo :EOF

:Exit
exit
Скопировать распакованные дрова, скажем с:\123
смонтировать образ для изменений (допустим в c:\winpe\mount)
и выполнить комманду
peimg.exe /inf=C:\123\*.inf c:\winpe\mount\windows
закрыть с сохранением образ

Каши не будет! Для каждого inf, будет создана своя папка
И кстати, пиво попить не успеете :)

Fantom77 07-05-2009 13:25 1112793

Кто нидь знает в чем беда - любые попытки интеграции в смонтированный образ заканчиваются ошибкой 0x801f0005, хоть используй peimg, хоть pkgmgr, хоть dism. образ windows 7.

xoxma81 07-05-2009 19:29 1113098

Fantom77, для windows 7 свой waik, его используете?

AstalaWinda 12-12-2010 16:44 1564097

Получится ли распаковать драйвера с http://driverpacks.net/driverpacks/latest и интегрировать их? Может быть проблема в том, что теперь в корне архивов нету файлов *.inf, а без них, видимо, ничего не получится.

kkkisa 06-03-2011 13:51 1628533

Не совсем понятно с интеграцией драйверов mass storage. Проверять-эксперементировать не на чем, просто хочу внедрить их в дистр на всякий случай, памятуя мучения на отдельных машинах с ХР (пока туда такие дрова не вставил, пару раз ох как приходилось изгаляться).

В какой образ их вставлять нужно - в boot, или install? И в какой раздел прописывать в файле ответов?

...То ли в install, но для первого прохода, то ли... Подсобите внятным советом, пожалуйста.

Win 7 pro rus

kkkisa 08-03-2011 19:39 1630160

Угу, не только мне интересно разобраться с этой фигнёй..
http://forum.oszone.net/post-1602483.html#post1602483


Время: 05:37.

Время: 05:37.
© OSzone.net 2001-