Драйвера в системах Windows хранятся в специальной папке называемой хранилищем драйверов или репозиторием. Располагается эта папка по пути: C:\Windows\System32\DriverStore\FileRepository
В ней хранятся как предустановленные в процессе развертывания ОС драйвера(InBox), так и установленные пользователем.
Система обращается к этой папке при подключении нового устройства и ищет для него драйвер.
В случае успеха драйвер будет установлен, а в случае неудачного поиска устройство будет отображаться в диспетчере устройств, как «Неизвестное устройство»
Резервные копии драйверов
Для создания резервных копий драйверов я использую утилиту
Drivers BackUp Solution 3.9.21, от adia-project.
Freeware программа с небольшим весом — влезет на любую флешку, и считаю что у админа на флешке она должна быть. Загрузить.
Можно извлекать драйвера по одному, или же выбрать целую пачку, а затем поместить их в специальный самораспаковывающийся архив, который при запуске добавит весь набор драйверов в репозиторий.
Для автоматического добавления драйверов в репозиторий из созданного нами пакета, используется встроенная в Drivers BackUp Solution утилита DPinst(Driver Package Installer).
Ручная установка драйвера
DPinst является частью Windows Driver Kit (WDK) — пакета от Microsoft для разработчиков драйверов.
Этот инструмент можно использовать вручную, и с его помощью устанавливать драйвера не имеющие штатного установщика. Такая ситуация периодически встречается при установке принтеров.
PnPutil
PnPutil — стандартная утилита, позволяющая просматривать, устанавливать, удалять драйвера устройств, а так же проводить их экспорт.
# Показать список всех драйверов pnputil /enum-drivers
# Добавить драйвер в хранилище, а затем установить pnputil /add-driver device.inf /install
# Удалить драйвер pnputil /delete-driver oem0.inf
# Экспортировать драйвер PnPutil /export-driver <oem#.inf | *> <целевой каталог>
Так же можно выполнить импорт\экспорт драйвера простым копированием его папки в\из FileRepository
Driver Store Explorer(Rapr)
Программа позволяет в достаточно удобном интерфейсе просматривать и удалять, например, неиспользуемые драйвера.
Такими драйверами на удаление могут быть старые(предыдущие) драйвера видеокарт.
Раздел Видеоадаптеры. Провайдер AMD\Nvidia.
Вряд ли они понадобятся, ну а на крайний случай, они на сайте у производителя есть.
Диски все таки не резиновые.
Powershell
Рассмотрим выполнение части вышеописанных действий средствами Powershell
# Показать все драйвера: Предустановленные(InBox) и установленные пользователем Get-WindowsDriver -Online -All | fl -Property * # Показать только драйвера установленные пользователем Get-WindowsDriver -Online | ft Driver,OriginalFileName,ClassDescription,ClassName,CatalogFile,ClassGuid # Просмотр драйверов, необходимых для загрузки ОС Get-WindowsDriver -Online | ? BootCritical -eq $true | fl -Property * # Получаем данные по драйверам 'Xerox' Get-WindowsDriver -Online -All | ? ProviderName -Match 'Xerox' # Получаем из inf файла модели устройств, для которых подходит данный драйвер Get-WindowsDriver -Online -Driver oem6.inf # Получаем данные по драйверам 'Xerox' с помощью WMI. На мой взгляд, вывод более информативен, чем в командлете Powershell Get-WmiObject Win32_PnPSignedDriver | ? Manufacturer -Match 'Xerox' | fl -Property *
Я уже делал отдельную заметку про работу с драйверами принтеров, в том числе с помощью скрипта.
Она частично перекликается с этой заметкой, потому что в ней используются принципы которые я описал выше.
Можете ознакомиться при желании.
Заключение
В общих чертах про работу в ОС Windows я рассказал.
Проводить сравнение программ для автоматического поиска и обновления драйверов я не буду, т.к. это давно сделали без меня.
Оставляйте в комментариях программы для работы с драйверами которые нравятся вам