В Диспетчере устройств жёлтый треугольник и текст «Это устройство работает неправильно, поскольку Windows не удаётся загрузить для него драйверы. (Код 31)». Официальное имя - CM_PROB_FAILED_ADD: функция драйвера не смогла добавить устройство. Система уже видит железо и даже подобрала пакет, но загрузить его в работу не вышло. Это не синий экран и не ошибка установки Windows.
Рядом часто ищут код 28. Там драйвера нет вовсе. Здесь пакет как будто есть, но старт не удался. Лечить оба кода одним «драйвер-паком с торрента» не стоит.
Почему это происходит
Драйвер есть, но не подходит к этой сборке Windows. Пакет для Windows 10 на машине с 11, x86 на 64-битной системе, старый INF от Windows 7. Установщик мог отчитаться об успехе, а при старте AddDevice вернул ошибку - вот вам код 31.
Пакет битый или обрезанный. Скачали «только sys», распаковали архив не до конца, антивирус вырезал файл в момент установки. В свойствах устройства драйвер числится, загрузиться не может.
Конфликт с другим фильтром. Антивирус, VPN, «ускоритель диска», старый софт RAID вешают свой фильтр на стек. Устройство тогда падает именно на добавлении, хотя само железо живое. Если код 31 появился на сетевой карте после установки «ускорителя интернета» - смотрите вчерашнюю программу, не материнскую плату.
Железо отвечает криво, но ещё определяется. Подсевший USB-контроллер, диск в адаптере, карта в плохом слоте. Windows устройство видит, драйвер стартовать не хочет. Здесь уже не «скачать драйвер ещё раз», а кабель, порт, слот.
Повреждены системные компоненты. Реже, но бывает после оборванного обновления: подсистема Plug and Play жива, а нужная служба драйвера в реестре указывает в пустоту. Это не повод сразу править ветки вручную. Сначала штатный откат и проверка файлов.
Код 31 не означает «устройство сгорело». Сгоревшее чаще пропадает из списка или даёт код 43 после сбоя. Не ставьте знак равенства между жёлтым треугольником и заменой платы.
Что делать самому
Запишите точное имя устройства и код. В Диспетчере устройств: свойства → «Сведения» → «Идентификаторы оборудования». Нужны строки вроде
VEN_xxxx&DEV_xxxxилиVID_xxxx&PID_xxxx. По ним ищут драйвер на сайте производителя платы, ноутбука или чипа, не по слову «unknown» в первой попавшейся выдаче.Откатите или удалите драйвер штатно. Правый клик → «Удалить устройство», можно отметить «удалить программы драйверов». Перезагрузка. Windows попробует поставить базовый пакет сама. Если после удаления код сменился на 28 - вы как раз перешли в ситуацию «драйвера нет», это уже другая статья и другой шаг: поставить пакет с сайта, не с сборника.
Поставьте пакет с сайта производителя, не «драйвер-пак». Для ноутбука - страница именно вашей модели. Для сборки - сайт платы или чипсета (Intel, AMD, Realtek). Не подкладывайте одиночный
.sysиз темы форума: без INF и каталога подписи Windows его либо не примет, либо поставит вполуработающем виде и снова выдаст код 31.Проверьте, не мешает ли фильтр. Чистое время загрузки (msconfig → «Выборочный запуск», без сторонних служб) или безопасный режим. Если в безопасном режиме устройство без кода 31, виновата обычная программа, не камень. Снимите недавний антивирус, VPN, «тюнер».
Другой порт или слот. USB-устройство - в порт на задней панели, без хаба. Карта - соседний PCIe, диск - другой кабель SATA. Если код 31 переехал вместе с железом на заведомо рабочей машине - смотрите само устройство. Если на этой плате любое устройство в этом слоте даёт 31 - слот или контроллер.
Проверьте файлы системы, не реестр наугад. Командная строка администратора:
sfc /scannow, при необходимостиDISM /Online /Cleanup-Image /RestoreHealth. Не открывайте редактор реестра, чтобы «прописать службу драйвера»: одна опечатка в ключе сервиса и устройство пропадёт уже с другим кодом, плюс рискуете загрузкой. Если после DISM код 31 остался на одном конкретном устройстве, дело в пакете или в железе, не в «повреждённом Windows целиком».
Часто задаваемые вопросы
Код 31 и «устройство работает неправильно» - одно и то же? В Диспетчере устройств да: это стандартный текст Microsoft для кода 31. Другие коды (10, 43, 28) пишут иначе. Смотрите номер в скобках, не только фразу.
Чем код 31 отличается от кода 28? 28 - драйвер не установлен. 31 - Windows не смогла загрузить уже выбранный драйвер. Ставить пакет имеет смысл в обоих случаях, но при 31 чаще виноват конфликт или битый пакет, а не пустое место.
Поможет ли переустановка Windows? Если железо живое и вы не ставите тот же кривой пакет - часто да. Сначала стоит вычистить старый драйвер и поставить родной. Это быстрее чистой установки.
Можно ли игнорировать код 31 на лишнем устройстве? Если это фантомный COM-порт или старый картридер, которым не пользуетесь - да. Если это диск, сеть или видео - нет, функции не будет.
