Інтеграція драйверів в інсталяційний образ Windows 10 / Server 2012 R2

У цій статті ми покажемо, як додати необхідні драйвера пристроїв безпосередньо в інсталяційний образ Windows. Інтеграція необхідних драйверів в ваш офлайн образ Windows використовується при необхідності розгортання великої кількості робочих станцій і серверів на однотипному залозі. Замість того, щоб вручну встановлювати специфічні драйвера (в тому числі AHCI / RAID / NVMe) на кожному комп'ютері, ви можете істотно спростити і прискорити процедуру розгортання ОС, інтегрувавши драйвера безпосередньо в сховище драйверів (Driver Store) інсталяційного образу Windows в ISO / WIM файлі або в VHD / VHDX файл з ОС. При установці такого способу служба Plug and Play (PnP) автоматично встановить необхідні драйвери для виявленого обладнання.

Дана інструкція по інтеграції драйверів в образ Windows можна використовувати як десктопних редакціях Windows 10, Windows 8.1, так і в серверних платформах Windows 2016, 2012 R2.

В сучасних редакціях Windows ви можете додати драйвера в інсталяційний ISO образ двома способами:

  • за допомогою утиліти DISM;
  • за допомогою PowerShell.

По суті обидві методики виконують одну й ту ж саму операцію: інтегрують додаткові драйвера в офлайн образ Windows. Який способів скористатися - питання особистих уподобань адміністратора. Розберемо докладніше обидва способи на прикладі інтеграції драйверів в інсталяційний образ Windows 10.

Примітка. У Windows Server 2008 R2 і Windows 7 можна було додати драйвер в інсталяційний образ Windows за допомогою утиліти командного рядка imagex (входила до складу WAIK), однак її підтримка в Windows Server 2012 була припинена.

зміст:

  • Як інтегрувати драйвера в образ Windows 10 за допомогою PowerShell
  • Інтеграція драйверів в образ Windows Server за допомогою DISM

Як інтегрувати драйвера в образ Windows 10 за допомогою PowerShell

В першу чергу вам необхідно скачати і помістити все необхдімо драйвера пристроїв в один каталог (для кожного драйвера потрібно створити окрему папку). Зверніть увагу, що багато виробників (в тому числі Dell, HP) постачають свої драйвера у вигляді саморозпаковуються exe файлів або zip архівів. Такі архіви необхідно розпакувати на диск, щоб в каталозі з драйверами присутні inf, cat і sys файли.

Перед початком роботи створимо таку структуру каталогів:

  1. Каталог Drivers - в ньому зберігаються розпаковані файли драйверів для вашої редакції Windows 10 (які передбачається інтегрувати в дистрибутив); Ви можете завантажити і розпакувати необхідні файли драйверів вручну або експортувати всі сторонні драйвера з еталонного комп'ютера, на якому вже встановлені всі необхідні драйвера за допомогою командлета Export-WindowsDriver.
  2. Каталог ISO - в каталозі зберігається розпакований iso образ Windows 10. Нам потрібен тільки файл Install.wim з каталогу Sources; Якщо у вашому ISO образі Windows 10 є тільки файл c: \ sources \ install.esd, ви зможете конвертувати файл ESD в формат WIM за допомогою утиліти DISM: dism / export-image /SourceImageFile:"C:\WinWork\ISO\install.esd "/ SourceIndex: 4 /DestinationImageFile:C:\WinWork\ISO\install.wim / Compress: max / CheckIntegrity   
  3. Каталог Mount - порожній каталог, в який в подальшому буде змонтований Wim образ Windows.

Виведіть список всіх версій Windows, які містяться в файлі Install.wim за допомогою командлета PowerShell Get-WindowsImage. Це необхідно для того, щоб вказати ту редакцію Widows, в яку планується інтегрувати додаткові драйвера.

Get-WindowsImage -ImagePath C: \ WinWork \ ISO \ install.wim

У нашому прикладі в WIM файлі міститься всього 1 в редакції Windows 10 Pro з індексом 1 (ImageIndex: 1).

Далі необхідно змонтувати образ обраної версії Windows в каталог Mount. Отримані вище індекс редакції Windows, яку необхідно змонтувати потрібно вказати в якості аргументу Index:

Mount-WindowsImage -Path C: \ WinWork \ Mount \ -ImagePath C: \ WinWork \ ISO \ install.wim -Index 1

Після того, як образ змонтований, запустіть процес додавання в нього драйверів, які зберігаються в каталозі Drivers (параметр -Recurse передбачає рекурсивний обхід вкладених папок і додавання драйверів по всіх знайдених inf файлів).

Add-WindowsDriver -Path C: \ WinWork \ Mount \ -Driver C: \ WinWork \ Drivers -Recurse

командлет Add-WindowsDriver здійснить рекурсивний пошук у вказаному каталозі всіх .inf файлів з описами драйверів. За описом в inf файлі команда додасть залежні INF, DLL, CAT, PNF і т.д. файли в ваш образ Windows.

За допомогою ключа -ForceUnsigned ви можете додати в сховище драйверів навіть непідписані драйвера. Інакше вам доведеться відключити перевірку цифрового підпису драйвера або підписати його самостійно самоподпісанного СЕРТФІКАТА.

Отже, драйвера скопійовані, і поточний образ можна отмонтировать, зберігши зміни в ньому.

Dismount-WindowsImage -Path C: \ WinWork \ Mount \ -Save

У розглянутому прикладі ми додали драйвери в образ Install.wim, це образ Windows, який буде встановлений на ваш диск. Якщо необхідно додати драйвера в завантажувальний образ Windows (з якого виконується тільки установка Windows), необхідно додати драйвера в файл Boot.wim. Зазвичай це необхідно, коли при установці Windows на комп'ютері не визначаються локальні диски або відсутній доступ до мережі. Зазвичай в образ boot.wim необхідно інтегрувати тільки драйвера контролерів, дисків або мережевих адаптерів.

Зверніть увагу, що з часом каталог сховища драйверів (DriverStore\ FileRepository) Може істотно розростатися, тому його можна періодично очищати від старих версій драйверів.

Ви можете конвертувати ваш файл install.wim, що містить інсталяційний образ Windows з інтегрованими драйверами в формат install.esd, застосувавши стиснення (compress):

DISM / Export-Image /SourceImageFile:C:\WinWork\ISO\install.wim / SourceIndex: 1 /DestinationImageFile:C:\WinWork\ISO\install.esd / Compress: recovery

Залишилося створити iso файл і записати його на диск або флешку за допомогою Dism ++ або команди oscdimg:

oscdimg -n -m -bc: \ ISO \ boot \ etfsboot.com C: \ ISO C: \ new_win10pro_image.iso

У Windows 7 / 2008R2 немає командлет Add-WindowsDriver. Він з'явився тільки в Windows 8 / Server 2012 і вище, тому для інтеграції драйверів в образ в Win7 / 2008 R2 використовуйте DISM (див. Приклад нижче або в статті Інтеграція драйверів USB 3.0 в дистрибутив Windows 7).

Інтеграція драйверів в образ Windows Server за допомогою DISM

Тепер покажемо приклад інтеграції драйверів в інсталяційний образ Windows Server 2012 R2. У тому випадку, якщо збірка образу ведеться на Windows 8.1 для подальшої роботи з останньою версією DISM вам знадобиться завантажити і встановити Windows 8 ADK (http://www.microsoft.com/en-us/download/details.aspx?id=30652 ). Потрібно встановити компонент Deployment Tools.

Структура каталогів, з якої ми будемо працювати може бути тією ж самою: Drivers (зберігаються драйвера і * .inf файли), ISO (розпакований образ Windows Server 2012 R2), Mount (каталог монтування образів). Передбачається, що в файлі install.wim нас цікавить версія Windows Server 2012 R2 Datacenter з індексом 3.

Змонтуйте інсталяційний образ install.wim:

dism / Mount-Wim /WimFile:c:\iso\sources\install.wim / Index: 3 / MountDir: c: \ mount

Запустіть рекурсивний пошук і інтеграцію в сховище компонентів образу Windows Server 2012 R2 нових драйверів:

dism / image: c: \ mount / Add-Driver "/ driver: c: \ drivers \" / recurse

Збережіть зміни в образі:

dism / unmount-wim / mountdir: d: \ mount / commit

Можливо доведеться також інтегрувати драйвера для мережевих адаптерів і контролерів дисків в завантажувальний образ boot.wim.

Якщо необхідно додати драйвера в усі образи Windows Server, що містяться в wim-файлі, зазначені операції потрібно провести для всіх індексів версій ОС, які повернула команда:

dism / get-wiminfo /wimfile:d:\install.wim

Крім інтеграції драйверів, зазвичай необхідно додати в встановлюваний образ Windows ще поновлення безпеки (Як інтегрувати оновлення в інсталяційний образ Windows), це підвищить рівень захищеності ОС відразу після установки. Залишилося записати вийшов інсталяційний образ на завантажувальний диск або USB флешку або конвертувати його в ISO.