Після перевстановлення або чистої установки Windows користувач стикається з необхідністю установки актуальних версій драйверів для пристроїв, встановлених в комп'ютері. Відразу після переустановлення системи користувачеві доводиться вручну качати драйвера з сайту виробника або використовувати різні драйвер-паки (в комплекті з якими як правило йде різне сміття і рекламне ПО). Однак є більш простий спосіб перевстановлення драйверів в Windows. Не всі знають, що перед перевстановлення Windows ви можете створити резервну копію всіх драйверів, встановлених в системі. Надалі за допомогою резервної копії ви зможете швидко встановити всі необхідні драйвера вже в чистій системі.
У цій статті ми покажемо вам основні способи створення бекапа (резервної копії) всіх драйверів, встановлених в Windows і способи відновлення драйверів з резервної копії без використання сторонніх інструментів.
зміст:
- Експорт драйверів за допомогою командлета Export-WindowsDriver
- Бекап драйверів за допомогою DISM
- Використовуємо утиліту PNPUtil для створення резервну копії встановлених драйверів
- Відновлення драйверів з резервної копії
Експорт драйверів за допомогою командлета Export-WindowsDriver
У Windows 8.1 Update 1 з'явився новий Powershell командлет Export-WindowsDriver, дозволяє експортувати всі встановлені в системі сторонні драйвера (маються на увазі не рідні драйвера Microsoft) безпосередньо зі сховища драйверів (Driver Store). У всіх версіях Windows 10 командлет Export-WindowsDriver вже є в системі. Даний командлет дозволять істотно полегшити і прискорити процес перевстановлення Windows, тому що раніше для створення резервної копії драйверів, встановлених в системі, доводилося використовувати стороннє ПО, наприклад, DoubleDriver, DriverMax тощо.
Отже, щоб в Windows 10 або 8.1 безпосередньо у встановленій системі витягти з поточного способу всі встановлені драйвера сторонніх виробників, відкрийте консоль PowerShell з правами адміністратора і виконайте команду:
Export-WindowsDriver -Online -Destination c: \ drivers
Якщо потрібно витягти драйвера з офлайн образу Windows, змонтованого, наприклад, в каталог c: \ win_image, команда повинна виглядати так.
Export-WindowsDriver -Path c: \ win_image -Destination c: \ drivers
Після запуску командлета на екрані з'явиться інформація про всіх експортованих драйвери, які не є частиною ОС.
В результаті виконання команди PowerShell ви отримаєте каталог з резервною копією всіх драйверів, встановлених в Windows. Кожен драйвер і всі пов'язані з ним файли зберігається в власний каталог, який називається по імені inf-файлу драйвера.
У кожному каталозі присутні всі файли, необхідний для установки драйвера в системі (не тільки inf файли, але і всі пов'язані sys, dll, exe і інші типи файлів). командлет Export-WindowsDriver будує список файлів, які необхідні для установки драйвера відповідно до списку файлів, зазначених в секції CopyFiles inf-файлу драйвера.
Щоб відобразити список усіх експортованих драйверів в зручному вигляді із зазначенням класу, виробника і версії драйвера, здійснимо експорт драйверів двома командами:
$ BackupDrv = Export-WindowsDriver -Online -Destination c: \ drivers
Після чого відобразимо результати виконання команди в табличній формі:
$ BackupDrv | Select-Object ClassName, ProviderName, Date, Version | Sort-Object ClassName
Як ви бачите, в вийшла таблиці вказаний клас драйвера, виробник, версія і дата.
Ви можете вивантажити інформацію про експортованих драйвери в CSV файл:
$ BackupDrv | Select-Object ClassName, ProviderName, Date, Version | Export-Csv c: \ ps \ drivers_list.txt
Можна вивести список драйверів певного класу пристроїв за допомогою атрибута класу ClassName. Наприклад, щоб вивести тільки драйвера принтерів, виконайте команду:
$ BackupDrv | where $ _. classname -like "printer"
Щоб вивести список драйверів певного виробника, скористайтеся командою:
$ BackupDrv | Where $ _. ProviderName -Match "NVIDIA"
Бекап драйверів за допомогою DISM
Утиліта DISM також надає можливість як створення резервної копії драйверів, так і їх імпорту в образ Windows.
Щоб експортувати всі драйвера в каталог C: \ Drivers, відкрийте командний рядок з правами адміністратора і виконайте команду:
dism / online / export-driver / destination: C: \ Drivers
Експорт 1 з 27 - oem0.inf: Пакет драйверів успішно експортований.
Як ви бачите, в нашому прикладі утиліта DISM успішно експортувала в зазначений каталог 27 драйверів.
Використовуємо утиліту PNPUtil для створення резервну копії встановлених драйверів
До складу всіх версій Windows, починаючи c Windows 7, входить утиліта PNPUtil, яка зазвичай використовується для додавання або видалення драйверів в Windows (раніше ми показували як видалити старі версії драйверів зі сховища драйверів Windows для економії місця на диску).
Відкрийте командний рядок з підвищеними правами і виконайте команду:
pnputil.exe / export-driver * c: \ drivers
Драйвера з отриманого каталогу з драйверами можна поширити на інші системи вручну за допомогою PowerShell або DISM (Як інтегрувати драйвера в образ Windows), або автоматизовано за допомогою скриптів на основі PNPUtil, DISM, PowerShell, MDT, SCCM тощо.
Відновлення драйверів з резервної копії
Після переустановлення системи ви можете використовувати каталог з резервною копією драйверів для установки в чистій системі.
Ви можете встановити конкретний драйвер, клацнувши правою кнопкою по INF файлу і вибравши пункт меню "встановити".
Також можна встановити драйвер конкретного пристрою через диспетчер обладнання. У диспетчері пристроїв виберіть пристрій, драйвер якого ви хочете замінити, виберіть пункт "оновити драйвер"->"Виконати пошук драйверів на цьому комп'ютері". Вкажіть шлях до каталогу з резервною копією драйверів. Щоб автоматично просканувати на відповідні драйвера всі вкладені папки, виберіть відповідну опцію.
Однак є більш простий спосіб установки відразу всіх драйверів, які присутні в резервної копії. Для цього скористайтеся наступним PowerShell скриптом:
$ Driver_inf_files = Get-ChildItem -Path "C: \ Drivers \" -Filter "* .inf" -Recurse -File
foreach ($ driver_inf_file in $ driver_inf_files)
$ driver_inf_file.FullName
pnputil.exe -i -a "$ driver_inf_file.FullName"
Даний PoSh скрипт послідовно обходить всі папки в зазначеному каталозі, шукає все inf файли і встановлює драйвера в сховище драйверів за допомогою утиліти PNPUtil.
Також можна імпортувати все драйвера з каталогу з резервною копією в образ Windows за допомогою параметра Add-Driver утиліти DISM:
DISM / online / Add-Driver / Driver: C: \ Drivers / Recurse
Можна додати драйвер як в онлайн, так і в офлайн образ Windows (див. Приклад Інтеграція драйверів USB 3.0 в дистрибутив Windows 7).
Отже, в цій статті ми розглянули різні способи експорт і імпорту драйверів в Windows. Також ми познайомилися з новим Командлети Export-WindowsDriver в Windows 10 і Windows 8.1 Update 1, що дозволяє створити резервну копію всіх сторонніх драйверів, встановлені в системі, і експортувати їх в окрему папку.