У цій статті ми покажемо, як додати необхідні драйвера пристроїв безпосередньо в інсталяційний образ 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 файли.
Перед початком роботи створимо таку структуру каталогів:
- Каталог Drivers - в ньому зберігаються розпаковані файли драйверів для вашої редакції Windows 10 (які передбачається інтегрувати в дистрибутив); Ви можете завантажити і розпакувати необхідні файли драйверів вручну або експортувати всі сторонні драйвера з еталонного комп'ютера, на якому вже встановлені всі необхідні драйвера за допомогою командлета Export-WindowsDriver.
- Каталог 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
- Каталог 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 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
Якщо необхідно додати драйвера в усі образи Windows Server, що містяться в wim-файлі, зазначені операції потрібно провести для всіх індексів версій ОС, які повернула команда:
dism / get-wiminfo /wimfile:d:\install.wim
Крім інтеграції драйверів, зазвичай необхідно додати в встановлюваний образ Windows ще поновлення безпеки (Як інтегрувати оновлення в інсталяційний образ Windows), це підвищить рівень захищеності ОС відразу після установки. Залишилося записати вийшов інсталяційний образ на завантажувальний диск або USB флешку або конвертувати його в ISO.