Ошибка «Не удалось добавить драйвер в хранилище драйверов» чаще всего появляется при выполнении команды pnputil /add-driver или при установке через мастер оборудования — и почти всегда указывает на повреждённый INF-файл, недостаток прав или блокировку со стороны системы безопасности. Хранилище драйверов (Driver Store) находится в папке C:\Windows\System32\DriverStore\FileRepository, и Windows тщательно проверяет каждый пакет перед тем, как поместить его туда.
В этой статье разберём, почему возникает сбой, как определить его источник и какие шаги помогут добавить драйвер корректно. Инструкции подходят для Windows 10 всех актуальных редакций — Home, Pro и Enterprise.
Что такое хранилище драйверов и почему возникает ошибка
Начиная с Windows Vista, операционная система не копирует файлы драйверов напрямую в системные каталоги. Сначала пакет проходит проверку подписи и целостности, затем помещается в защищённое хранилище, и только после этого устройство может его использовать. Такой механизм защищает систему от поддельных и повреждённых драйверов.
Ошибка при добавлении означает, что один из этапов проверки не пройден. Система не всегда сообщает точную причину — в сообщении может фигурировать общий код вроде 0x80070005 (отказано в доступе), 0x80070002 (файл не найден) или текст «Неправильная функция».
- 🔐 Недостаточно прав — команда запущена без прав администратора;
- 📄 Повреждён или некорректен INF-файл — ошибки синтаксиса, отсутствующие секции;
- 🛡️ Антивирус или политика безопасности блокирует запись в системный каталог;
- ✍️ Отсутствует цифровая подпись драйвера, а система настроена строго;
- 💾 Повреждено само хранилище или системные файлы Windows.
Проверка прав и корректный запуск pnputil
Самая частая причина сбоя — запуск утилиты без повышенных привилегий. Запись в DriverStore разрешена только системным процессам и администраторам с элевацией.
Откройте командную строку от имени администратора: нажмите Win + S, введите cmd, щёлкните правой кнопкой по результату и выберите «Запуск от имени администратора». Затем выполните команду, указав полный путь к INF-файлу:
pnputil /add-driver "C:\Drivers\MyDriver\driver.inf"
Если нужно добавить сразу все драйверы из папки с подпапками, используйте рекурсивный режим:
pnputil /add-driver "C:\Drivers\*.inf" /subdirs /install
Убедитесь, что путь не содержит опечаток, а сам INF-файл действительно лежит по указанному адресу. Ошибка «файл не найден» часто возникает из-за пробела в пути без кавычек.
Проверка целостности пакета драйвера
Если права в порядке, следующий шаг — проверить сам пакет. INF-файл — это обычный текстовый файл, и его можно открыть в Блокноте. Ищите явные признаки повреждения: обрывы строк, кракозябры вместо текста, пустые секции.
Кроме того, проверьте комплектность пакета. Рядом с INF должны лежать файлы, на которые он ссылается: .sys, .cat (каталог безопасности), иногда .dll. Если драйвер скачан частично или архив распакован с ошибкой, добавление в хранилище завершится сбоем.
- 📦 Скачайте драйвер заново — только с сайта производителя устройства или вендора чипа;
- 🗜️ Распакуйте архив заново, желательно другим архиватором, чтобы исключить повреждение;
- 🔍 Сравните размер файлов с указанным на странице загрузки, если он приведён;
- 🧩 Убедитесь, что драйвер предназначен именно для Windows 10 и вашей разрядности (x64 или x86).
Цифровая подпись и политики безопасности
Windows 10 x64 по умолчанию требует, чтобы драйверы режима ядра имели цифровую подпись. Неподписанный или подписанный недоверенным сертификатом пакет будет отклонён при добавлении в хранилище — это штатное поведение, а не неисправность.
Проверить подпись можно так: откройте свойства INF- или CAT-файла, перейдите на вкладку «Цифровые подписи» (если она есть) и посмотрите состояние. Если подписи нет, а драйвер получен из надёжного источника и его установка действительно необходима, существует штатный режим тестовой подписи, однако его включение снижает защищённость системы.
⚠️ Внимание: отключение проверки подписи драйверов и включение тестового режима делают систему уязвимой для вредоносных драйверов. Применяйте эти меры только временно и только для драйверов из проверенных источников, затем возвращайте настройки в исходное состояние.
На корпоративных компьютерах добавление драйверов может блокироваться групповой политикой или решениями типа Device Guard. В этом случае вам потребуется обратиться к системному администратору — локальные обходные пути здесь неуместны.
Восстановление системных файлов и хранилища
Когда пакет исправен, а права в порядке, подозрение падает на саму Windows. Повреждённые системные файлы или нарушенные разрешения на папку FileRepository способны блокировать добавление любых драйверов.
Выполните по очереди две штатные проверки из командной строки с правами администратора:
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
Первая команда проверяет и восстанавливает защищённые системные файлы, вторая — исправляет хранилище компонентов Windows. Обе операции безопасны и не затрагивают пользовательские данные, но могут занять заметное время.
☑️ Чек-лист перед повторной попыткой
⚠️ Внимание: не меняйте вручную разрешения на папкуC:\Windows\System32\DriverStoreи не удаляйте из неё папки драйверов напрямую. Это может нарушить работу уже установленных устройств. Для удаления драйверов используйтеpnputil /delete-driver oemXX.inf /uninstall.
Типичные коды ошибок и их смысл
Код, который сопровождает сбой, помогает сузить диагностику. Ниже — наиболее встречающиеся варианты и направление проверки для каждого.
| Код ошибки | Вероятная причина | Что проверить |
|---|---|---|
| 0x80070005 | Отказано в доступе | Права администратора, антивирус, политики |
| 0x80070002 | Файл не найден | Правильность пути к INF, комплектность пакета |
| 0x800B0100 | Проблема с подписью | Наличие и доверие сертификата драйвера |
| 0x800F024B | Несоответствие хеша в каталоге | Целостность пакета, повторная загрузка |
| «Неправильная функция» | Ошибка синтаксиса INF | Содержимое INF, совместимость версии ОС |
Подробности сбоя также фиксируются в журнале C:\Windows\INF\setupapi.dev.log. Откройте его в текстовом редакторе и найдите записи по времени попытки установки — там обычно указано, на каком этапе и по какой причине пакет был отклонён.
Как читать setupapi.dev.log
Ищите строки с пометками «!!!» (ошибка) и «!» (предупреждение) рядом с меткой времени вашей попытки. Записи вида «sig:» относятся к проверке подписи, «inf:» — к разбору INF-файла. Ошибка в секции «inf:» почти всегда означает проблему с самим пакетом, а не с системой.
Альтернативные способы установки драйвера
Если добавление через pnputil упорно завершается ошибкой, попробуйте обходные пути. Иногда устройство можно установить вручную через Диспетчер устройств: щёлкните правой кнопкой по устройству с восклицательным знаком, выберите «Обновить драйвер» → «Найти драйверы на этом компьютере» и укажите папку с INF.
Другой вариант — фирменный установщик производителя, если он существует. Многие вендоры поставляют драйверы в виде исполняемого пакета, который сам обрабатывает подпись и добавление в хранилище, обходя типичные сбои ручной установки.
Наконец, стоит проверить наличие обновлений Windows: компоненты, отвечающие за работу с драйверами, обновляются через Центр обновления, и известные ошибки установки нередко устраняются очередным накопительным обновлением.
Часто задаваемые вопросы
Почему pnputil пишет «Операция успешно завершена», но драйвер не работает?
Добавление в хранилище и установка на устройство — разные операции. После добавления пакет нужно привязать к устройству: обновите драйвер через Диспетчер устройств или используйте ключ /install в команде pnputil.
Можно ли добавить драйвер без цифровой подписи?
Штатно — нет, Windows 10 x64 отклоняет неподписанные драйверы режима ядра. Существует тестовый режим и временное отключение проверки подписи через параметры загрузки, но это снижает безопасность и должно применяться только осознанно и временно.
Где находится хранилище драйверов Windows 10?
В папке C:\Windows\System32\DriverStore\FileRepository. Изменять её содержимое вручную не следует — управление выполняется через pnputil, DISM или Диспетчер устройств.
Как удалить проблемный драйвер из хранилища?
Командой pnputil /enum-drivers выведите список сторонних пакетов, найдите нужный по имени вида oemXX.inf и удалите его: pnputil /delete-driver oemXX.inf /uninstall.
Ошибка появляется при установке через DISM в автономный образ. Что делать?
Проверьте, что образ смонтирован корректно, путь к драйверу указан верно, а сам пакет совместим с версией и разрядностью образа. Также убедитесь, что DISM запущен от имени администратора и файл INF не повреждён.