- Уловка-32 — Windows, софт и железо без фанатизма/
- Статьи/
- Как откатить драйвер видеокарты, если Windows ставит его обратно/
Как откатить драйвер видеокарты, если Windows ставит его обратно
Содержание
Windows обновила драйвер видеокарты, вы откатили — через день-два версия снова новая. Разберу на примере с сайта Microsoft: карта работала на драйвере oem1.inf, потом пакет сменился на oem8.inf, а в журнале появилась ошибка.
Короткий ответ: откат не запрещает Windows Update искать драйвер с лучшим соответствием. Пока лишний пакет лежит в хранилище драйверов, система будет выбирать его при каждом удобном случае. Чтобы версия осталась, нужно убрать конкурирующий пакет и отключить доставку драйверов через обновления.
Что произошло в этом примере #
Детали этого примера объясняют всё остальное. Устройство — PCI\VEN_1002&DEV_67DF, семейство Polaris: RX 470, 480, 570, 580 и их варианты. Подвендор 1DA2 — Sapphire. В событии 411 службы Kernel-PnP записано: «Возникла проблема с запуском устройства», драйвер oem1.inf, служба amdwddmg, статус 0xC00000E5.
0xC00000E5 — это STATUS_INTERNAL_ERROR: внутренняя ошибка, из-за которой устройство не запустилось с первого раза. Но рядом в том же событии стоит Problem: 0x0, то есть кода проблемы нет. Второе событие, 400, показывает: устройство настроено, драйвер уже oem8.inf, версия 31.0.21925.1001 от 20.05.2026.
То есть видеокарта не сломалась. Сорвался один запуск в момент смены пакета, система повторила попытку и подняла устройство на новом драйвере. Слово «ошибка» в журнале читается как «новый драйвер плохой», хотя карта уже работала.
oem1.inf и oem8.inf — это не версии драйвера #
Самая частая путаница. Любой сторонний пакет драйвера при установке копируется в хранилище драйверов и получает там имя вида oem1.inf, oem8.inf, oem51.inf. Номер — это порядковый номер пакета, а не версия. Поэтому «был oem1, стал oem8» не значит «драйвер обновился с первой версии на восьмую».
Версия, дата и поставщик лежат внутри пакета, и смотреть надо именно их. В примере oem8.inf — это AMD Software: Adrenalin Edition 26.5.2 для Polaris и Vega, выпущенная 21 мая 2026 года (версия драйвера 23.19.25.01). Для RX 580 на сайте AMD она до сих пор помечена как WHQL Recommended: Polaris живёт в отдельной ветке и обновляется реже, чем новые карты.
Дальше в игру вступает ранг — число, которое Windows считает при выборе пакета для устройства. Оно складывается из оценки подписи, поддерживаемых функций и типа совпадения идентификаторов, и чем оно меньше, тем лучше пакет подходит. В событии 400 видно: у установленного пакета ранг 0xCF0000, у альтернатив в том же списке — 0xCF2000. Победил тот, который Windows сочла более подходящим, и старый INF после этого не выбирается вообще.
Почему откат не держится #
Windows ставит драйвер в два этапа. Сначала берёт лучший пакет из локального хранилища, чтобы устройство сразу заработало. Потом ищет в Windows Update пакеты, которые соответствуют устройству лучше установленного, и ставит их поверх.
При этом WU выбирает не самый свежий драйвер, а лучший по совокупности признаков, с приоритетом критичных и автоматических пакетов. Начиная с Windows 10 версии 2004 автоматически предлагается только лучший критичный или автоматический пакет, остальные лежат в необязательных обновлениях.
Кнопка «Откатить» в Диспетчере устройств возвращает предыдущий пакет, но не создаёт никакой «заморозки». При следующем сканировании WU снова увидит, что установленная версия хуже по рангу, и привезёт свою. Отсюда и ощущение, что Windows «ставит драйвер обратно».
В мае Microsoft объявила о механизме Cloud-Initiated Driver Recovery: откат драйверов, забракованных на Driver Shiproom, через Windows Update. Запуск планировался на сентябрь 2026. Но это про глобально плохие пакеты, а не про конкретную карту на конкретном ПК. Свою версию всё равно придётся защищать руками.
Диагностика: что установлено и кто конкурирует #
Прежде чем что-то удалять, посмотрите список пакетов видеокласса. В командной строке от администратора:
pnputil /enum-drivers /class Display
В выводе будут опубликованное имя (oem8.inf), оригинальное имя INF, поставщик, версия и подпись. Так вы поймёте, какой номер соответствует какой сборке AMD, NVIDIA или Intel.
Дальше — что именно выбрано для карты и какие пакеты претендуют на неё:
pnputil /enum-devices /class Display /drivers
Для каждого устройства вывод покажет установленный драйвер и список подходящих пакетов. Если в списке несколько INF от одного поставщика, вы увидите, кто из них основной, а кто ждёт своего часа.
Альтернатива через PowerShell, если нужен компактный список с датами:
Get-WindowsDriver -Online | Where-Object ClassName -eq "Display" |
Select-Object Driver, ProviderName, Version, Date, SignerName
Get-WindowsDriver работает только от администратора. Параметр -Driver oem8.inf покажет детали по одному пакету.
Команды работают на Windows 10 и 11, но набор флагов зависит от версии: /enum-devices с /drivers появился в Windows 10 версии 2004, фильтр /class у /enum-drivers — в Windows 11 21H2. На более старых сборках вывод будет без фильтров, читать его придётся глазами.
Способ 1. Штатный откат #
Самый простой путь, который стоит попробовать первым: Диспетчер устройств → Видеоадаптеры → свойства карты → вкладка «Драйвер» → «Откатить».
Работает он только если предыдущий пакет ещё лежит в хранилище и связан с устройством. Кнопка серая в трёх случаях: драйвер никогда не обновлялся, предыдущий пакет удалён, устройство переустанавливали с нуля. «Очистка диска» с галочкой «Пакеты драйверов устройств» может удалить эти пакеты — после этого откат недоступен.
Перед операцией создайте точку восстановления. Это не формальность: если после отката карта уйдёт в базовый режим и не поднимется, откатить систему будет проще, чем искать установщик на чужом сайте.
Способ 2. Удалить пакет и поставить нужную сборку #
Если кнопка не работает или драйвер возвращается, пакет удаляют принудительно. Порядок важен: сначала скачайте установщик нужной версии AMD, NVIDIA или Intel, потом удаляйте.
- Скачайте установщик конкретной версии с сайта производителя. Для Polaris (RX 470, 480, 570, 580) у AMD это страница RX 580 с веткой «Polaris & Vega».
- Удалите лишний пакет:
pnputil /delete-driver oem8.inf /uninstall /force
- Перезагрузитесь.
- Установите скачанный драйвер и ещё раз перезагрузитесь.
Флаг /uninstall снимает пакет с устройств, /force позволяет удалить даже используемый пакет. После удаления экран может перейти в базовый режим с низким разрешением — это нормально, ставим драйвер и возвращаемся к обычному режиму.
Есть важная деталь, из-за которой «просто поставь старую версию» не срабатывает: pnputil /add-driver не продавливает пакет на устройство, если у того худший ранг в системе. Поэтому правильный порядок — сначала убрать конкурента, потом ставить своё.
Способ 3. Чистая установка утилитой #
Когда в системе накопилось несколько пакетов от разных версий и полуудалённые хвосты, помогает полная очистка. AMD выпускает для этого официальную AMD Cleanup Utility, для NVIDIA и Intel такой официальной утилиты нет — там обычно используют сторонний DDU (Display Driver Uninstaller).
Порядок: загрузиться в безопасный режим, прогнать очистку, перезагрузиться в обычный режим, установить нужную версию, перезагрузиться ещё раз. Способ тяжелее двух предыдущих, зато убирает остатки, из-за которых откат возвращается.
Как запретить Windows Update приносить драйверы #
Это главный шаг. Без него первые три способа дают результат на пару дней.
Штатное ограничение — политика «Не включать драйверы в обновления Windows» (ExcludeWUDriversInQualityUpdate). В редакторе групповых политик она лежит в разделе «Компоненты Windows → Центр обновления Windows», в реестре — по пути HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate. Команда для включения:
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v ExcludeWUDriversInQualityUpdate /t REG_DWORD /d 1 /f
Чтобы вернуть всё как было, поставьте 0 или удалите значение.
Ограничения, о которых стоит знать заранее:
- политика описана для Windows 10 версии 1607 и новее, в изданиях Pro, Enterprise, Education и IoT Enterprise. В домашних редакциях редактора групповых политик нет, остаётся реестр, но официально этот сценарий Microsoft не описывает;
- она исключает драйверы из качественных обновлений. Первичную установку для нового устройства политика не отменяет: Plug and Play подберёт драйвер из хранилища или с установочного носителя;
- драйверы, которые Windows считает необязательными, живут в отдельном списке «Необязательные обновления» — оттуда их лучше не ставить вручную.
Если менять политику не хочется, есть временная мера: приостановить обновления на пару недель, пока не выйдет следующая версия драйвера. Это не запрет, а отсрочка.
Если дело не в драйвере #
Иногда за сменой драйвера маскируется железо. Что проверить, если после отката и запрета обновлений проблемы остались:
- событие 4101 «Драйвер дисплея amdwddmg перестал отвечать и был восстановлен» — это уже сбой TDR, а не установка;
- события WHEA-Logger 18 и 19 и Kernel-Power 41 — ошибки оборудования, питания или перегрева;
- карта из бывшего майнинга с правленым BIOS: новые сборки могут отказываться с ней работать, тогда нужен стоковый BIOS;
- на старых платформах — дополнительное питание PCIe, режим PCIe в BIOS, Above 4G Decoding.
В таких случаях откат драйвера даёт временный эффект: вы просто отодвигаете момент, когда нагрузка снова упрётся в железо.
Проверка результата #
После всех шагов проверьте, что стоит именно ваш пакет:
pnputil /enum-devices /class Display /drivers
В строке установленного драйвера должна быть нужная версия. Дополнительно убедитесь, что событие 411 не появилось снова после двух-трёх перезагрузок, а в «Необязательных обновлениях» не висит пакет от производителя.
FAQ #
Можно просто удалить устройство в Диспетчере устройств? Обычно нет. Пакет остаётся в хранилище, и после перезагрузки Windows ставит его же. Удаление устройства помогает, когда рядом уже лежит правильный INF и вы привязываете его вручную.
Опасен ли откат драйвера? Сам по себе нет. Риск в другом: без запрета обновлений вы вернётесь к тому же состоянию через день-два, а на промежуточных перезагрузках карта может работать в базовом режиме.
Почему кнопка «Откатить» серая?
Windows не хранит предыдущий пакет для этого устройства: драйвер никогда не обновлялся, старый пакет удалён очисткой диска или устройство переустанавливали. В этом случае работает только удаление пакета через pnputil и установка нужной версии вручную.
Подойдёт ли это для NVIDIA и Intel?
Да, механика общая: хранилище драйверов, ранги, oemN.inf и политика одинаковы для всех видеоклассов. Отличаются только названия служб и утилит очистки.
Если разбираться с пакетами и журналами нет времени, я подключаюсь удалённо, нахожу виновника по идентификаторам устройства, убираю лишние пакеты и закрепляю рабочую версию драйвера. Подробности — на странице помощи с Windows и Office. Похожий разбор, где виноват оказался драйвер не того поколения, есть в статье про код 10 у аудиоустройства.