Свежеустановленная Windows напоминает дом без проводки. Стены стоят, крыша есть, а света нет, потому что половина оборудования молчит без драйверов. Сетевая карта не видит интернет, видеокарта работает на минимальном разрешении, тачпад ноутбука дёргается рывками. У запасливого человека на этот случай припрятана папка с резервной копией драйверов, снятой со старой системы. Осталось малое, грамотно вернуть её содержимое на место, и вот тут многие спотыкаются о неочевидные правила.

Восстановление кажется зеркальным повторением экспорта, но это иллюзия. Залить драйверы обратно сложнее, чем выгрузить, потому что система не обязана слепо ставить всё, что ей подсовывают. У Windows своя логика выбора, свои приоритеты и свои капканы вроде того, что один из главных инструментов вообще не работает с запущенной системой. Разобравшись в этих тонкостях один раз, человек перестаёт зависеть от наличия интернета в первые минуты после установки.

Чем восстановление отличается от обычной установки одного драйвера

Прежде чем заливать копию, стоит понять разницу между двумя операциями, которые легко перепутать. Добавление пакета в хранилище и установка драйвера на устройство это не одно и то же. Когда драйвер попадает в хранилище драйверов, он там просто лежит наготове, как запасная деталь на полке. Привязка к конкретному устройству происходит отдельным шагом, и только после неё оборудование оживает.

Эта двухступенчатость объясняет поведение команд, которое иначе выглядит странным. Можно добавить сотню пакетов в хранилище, а в диспетчере устройств по-прежнему будут гореть жёлтые значки. Система добавила драйверы про запас, но не сочла нужным ставить их на устройства, потому что отдельная команда установки не прозвучала. Поэтому при восстановлении почти всегда используют связку из двух действий разом, добавление с немедленной установкой, чтобы не разбираться потом, почему железо молчит при полной полке драйверов.

Второй важный момент касается рейтинга драйверов. Windows присваивает каждому подходящему драйверу внутреннюю оценку и ставит на устройство тот, что выше по рангу. Если в системе уже сидит более свежий драйвер, утилита не станет насильно перебивать его старым из копии. Это спасает от случайного отката, но иногда мешает, когда нужен именно конкретный пакет. Знание про рейтинг помогает понять, почему восстановленный драйвер порой не встаёт, хотя команда отработала без ошибок.

Восстановление всей копии в живую систему через pnputil

Главный рабочий инструмент для запущенной системы это утилита pnputil.exe. Она присутствует в Windows начиная с Vista, лежит в системной папке и не требует ничего скачивать. Запускать её нужно из командной строки от имени администратора, иначе доступа к хранилищу не будет.

Когда копия снята командой экспорта, внутри неё лежат подпапки, по одной на каждый пакет драйвера. Чтобы залить весь набор разом, утилите указывают корневую папку с маской по INF-файлам и два ключа. Ключ subdirs заставляет пройтись по всем вложенным каталогам, а install сразу ставит подходящие драйверы на обнаруженное оборудование:

pnputil /add-driver D:\DriversBackup\*.inf /subdirs /install

Эта одна строка делает всю работу. Утилита рекурсивно обходит вложенные папки, находит каждый INF, добавляет пакет в хранилище и тут же пытается привязать его к устройству, которое этого драйвера ждёт. На экране бежит отчёт по каждому пакету с пометкой об успехе или пропуске. После завершения большинство жёлтых значков в диспетчере устройств гаснет, оборудование начинает отвечать. Прежде всего стоит дождаться оживления сетевой карты, потому что с рабочей сетью всё остальное при необходимости докачивается уже без нервов.

Иногда требуется не весь комплект, а один конкретный драйвер, например для Wi-Fi адаптера, чтобы поднять беспроводную сеть и не возиться с кабелем. Тогда указывают точный путь к нужному INF без маски и без обхода подпапок, поскольку файл уже найден:

pnputil /add-driver C:\Drivers\netrtwlanu.inf /install

Параметр subdirs здесь не нужен, ведь путь ведёт прямо к файлу, а не к папке с россыпью драйверов. Такой точечный возврат удобен, когда из всей копии в данный момент нужно поднять одно устройство, а остальным заняться позже.

Почему DISM не годится для восстановления в работающую систему

С инструментом DISM связано распространённое заблуждение, которое стоило многим часов бесплодных попыток. Логика подсказывает: раз DISM умеет выгружать драйверы из живой системы ключом online, значит он умеет и заливать их обратно тем же ключом. На практике это не так, и непонимание этой границы превращает восстановление в мучение.

DISM добавляет драйверы только в офлайн-образ, то есть в систему, которая не запущена, а смонтирована как набор файлов. Для работающей Windows параметр добавления драйверов через online просто не предусмотрен, и попытки скормить ему живую систему упираются в стену. Единственный штатный способ залить драйверы в текущую систему это pnputil, и держать это в голове полезно, чтобы не искать несуществующую команду DISM для онлайн-установки.

Зато для офлайн-сценариев DISM незаменим. Когда образ Windows смонтирован в каталог или когда система не загружается и её диск подключён к другому компьютеру, драйверы добавляют именно через DISM. Команда указывает на смонтированный образ, на папку с драйверами и ключ рекурсии, который заставляет обойти все вложенные подпапки:

dism /Image:C:\offline /Add-Driver /Driver:D:\DriversBackup /Recurse

Здесь параметр Image задаёт путь к смонтированному образу, Driver указывает на корень резервной копии, а Recurse разворачивает обход по всем подпапкам с пакетами. Этим способом чаще всего пользуются, когда нужно вернуть к жизни систему, которая после переустановки или сбоя не стартует из-за отсутствия драйвера дискового контроллера, и обычная загрузка для запуска pnputil невозможна.

Как поднять неработающую систему через подключение её диска

Отдельный сценарий это спасение Windows, которая вообще не загружается. Причина бывает прозаичной: после переустановки или замены материнской платы системе не хватает драйвера контроллера диска, и она падает в синий экран ещё до рабочего стола. Запустить pnputil внутри такой системы невозможно, ведь до командной строки дело не доходит. Здесь и выручает офлайн-подход через DISM.

Схема выглядит так. Диск с неработающей системой подключают к исправному компьютеру или загружаются со среды восстановления, где этот раздел виден как обычная буква. Затем DISM нацеливают не на образ в файле, а прямо на раздел проблемной системы, и заливают туда драйверы из резервной копии:

dism /Image:E:\ /Add-Driver /Driver:C:\DriversBackup /Recurse

В этой команде буква E это раздел, где лежит лежачая система, а путь к копии указывает на исправный носитель. После добавления нужных драйверов раздел отмонтируют и пробуют загрузиться штатно. Если причиной был именно отсутствующий драйвер контроллера, система поднимается. Этот приём не раз выручал при переносе диска со старого железа на новое, когда система отказывалась стартовать на незнакомом оборудовании.

Стоит учесть предостережение по ключу рекурсии. Обход всех подпапок удобен, но способен раздуть образ, если в копии много пакетов, которые делят между собой общие файлы. Для аккуратного восстановления, когда известно, какого именно драйвера не хватает, лучше указать конкретный INF, а не сваливать в систему всё подряд.

Что делать, когда восстановленный драйвер отказывается вставать

Иногда команда отрабатывает без единой ошибки, рапортует об успехе, а устройство в диспетчере по-прежнему помечено жёлтым значком. Это сбивает с толку, но причина почти всегда логична и сводится к нескольким типовым ситуациям.

Самая частая связана с тем самым рейтингом драйверов. Если система уже подобрала и поставила собственный драйвер с более высоким рангом, она не уступит место пакету из копии, сколько его ни добавляй. В этом случае проверяют, какие драйверы вообще претендуют на устройство, через перечисление с показом сопоставленных драйверов:

pnputil /enum-devices /class Net /drivers

Команда покажет устройства выбранного класса и список драйверов с их рангами, и сразу станет видно, чей пакет победил. Вторая ситуация это неполный пакет в копии: внутри подпапки лежит INF, но потерялись сопутствующие файлы SYS или CAT, и установка спотыкается на полпути. Здесь помогает только пересборка копии с исправного источника. Третья причина банальна, копию снимали с другого железа, и драйвер просто не подходит идентификатору устройства, как ключ не подходит к чужому замку.

Когда драйвер встал криво и устройство заработало с ошибками, его можно убрать из системы тем же pnputil и попробовать другой пакет. Удаление с отвязкой от устройств выполняется через delete-driver с ключом uninstall, после чего система снова ищет подходящий драйвер с чистого листа. Такой цикл добавить, проверить, при неудаче откатить превращает восстановление из лотереи в управляемый процесс.

Порядок действий, который экономит время и нервы

У восстановления есть разумная очерёдность, которая избавляет от лишней суеты. Начинать стоит не с тотальной заливки всего подряд, а с сетевого драйвера, поскольку рабочая сеть открывает доступ ко всему остальному и снимает половину проблем. Когда интернет появился, остальные драйверы при желании можно даже не восстанавливать вручную, а позволить системе подтянуть их самой.

Дальше идут драйверы, которые система точно не найдёт сама, специфическая периферия, экзотические контроллеры, фирменные утилиты управления. Именно ради них и делалась копия, ведь типовое оборудование Windows опознаёт и так. Массовую заливку всей папки командой с обходом подпапок приберегают на случай, когда устройств без драйверов много и перебирать их поодиночке дольше, чем залить разом.

Особняком стоит история с драйвер-паками сторонних сборок. Соблазн поставить универсальный набор велик, но опытные руки советуют сначала вернуть родные драйверы из своей копии, и только при их отсутствии браться за сборные комплекты. Чужой универсальный драйвер нередко встаёт поверх подходящего, после перезагрузки оборудование начинает капризничать, и приходится переустанавливать заново. Своя резервная копия тем и хороша, что хранит проверенные на этом конкретном железе версии, а не угаданные.

Проверка результата и финальная сверка с диспетчером устройств

Завершают восстановление не командой, а проверкой, иначе легко обмануться рапортом об успехе при молчащем оборудовании. Главный индикатор это диспетчер устройств. После заливки в нём не должно остаться устройств с жёлтым восклицательным знаком или записей в разделе неизвестного оборудования. Каждый такой значок означает устройство, которому драйвер так и не достался.

Полезно сверить состояние и через командную строку, особенно когда устройств много и глазами проще промахнуться. Перечисление устройств с фильтром по проблемам быстро покажет всё, что осталось без рабочего драйвера:

pnputil /enum-devices /problem

Команда выведет только проблемные устройства с их кодами, и список сразу очерчивает фронт оставшихся работ. Пустой вывод означает, что восстановление прошло начисто и заниматься больше нечем. Если же что-то осталось, по коду проблемы и идентификатору устройства понятно, какого драйвера не хватает и стоит ли искать его отдельно.

Финальная привычка опытного человека проста. После полного восстановления он ещё раз снимает свежую резервную копию уже с поднятой системы, особенно если докачивал что-то из сети поверх своего комплекта. Так копия остаётся актуальной к следующей переустановке, а круг замыкается. Драйверы вернулись, оборудование работает, и всё это без единого похода по сайтам производителей, ради чего резервная копия и существует.