Последнее обновление: 07/03/2022
[Среднее время чтения: 4,5 мин.]
Файлы Setup Information, такие как oem16.inf, считаются разновидностью файла Драйвер (Setup Information). Они соотносятся с расширением INF, разработанным компанией Panda Security для Panda Free Antivirus 18.06.
Первая версия oem16.inf для Sony Ericsson PC Suite 6.011 увидела свет 07/27/2011 в Windows 10.
Самый последний выпуск для Panda Free Antivirus 18.06 состоялся 03/21/2018 [версия 18.06].
Ниже приведены исчерпывающие сведения о файле, инструкции для простого устранения неполадок, возникших с файлом INF, и список бесплатных загрузок oem16.inf для каждой из имеющихся версий файла.
Что такое сообщения об ошибках oem16.inf?
Oem16.inf — ошибки «синего экрана» (BSOD)
Существует ряд причин, по которым вы можете столкнуться с проблемами с oem16.inf. Большинство проблем с файлами INF связаны с ошибками «синего экрана» (BSOD). Эти типы ошибок oem16.inf могут быть вызваны аппаратными проблемами, устаревшей прошивкой, поврежденными драйверами или другими проблемами, связанными с программным обеспечением (например, обновление Panda Free Antivirus). В число этих ошибок входят:
- Не удается найти oem16.inf.
- Не удалось загрузить oem16.inf.
- Файл oem16.inf отсутствует или поврежден.
- Windows не удалось запустить — oem16.inf.

Обнаружена проблема, в результате которой ОС Windows завершила работу, чтобы предотвратить повреждение компьютера. По всей видимости, причиной проблемы стал следующий файл: oem16.inf.
🙁 На вашем ПК возникла проблема, которую не удалось устранить, и его необходимо перезагрузить. Сведения об ошибке можно найти в Интернете: [BSOD] (oem16.inf).
STOP 0x0000001E: KMODE EXCEPTION NOT HANDLED (oem16.inf)
STOP 0x0000007E: SYSTEM THREAD EXCEPTION NOT HANDLED (oem16.inf)
STOP 0x0000003B: SYSTEM SERVICE EXCEPTION (oem16.inf)
STOP 0x00000050: PAGE FAULT IN A NONPAGED AREA (oem16.inf)
STOP 0×0000007A: KERNEL DATA INPAGE (oem16.inf)
STOP 0x0000000A: IRQL NOT LESS EQUAL (oem16.inf)
Крайне важно устранять ошибки «синего экрана»
В большинстве случаев ошибки BSOD oem16.inf возникают после установки нового оборудования, программного обеспечения (Panda Free Antivirus) или выполнения неудачного обновления Windows. В остальных случаях к ошибке «синего экрана» oem16.inf может привести повреждение программного обеспечения, вызванное заражением вредоносным программным обеспечением. Таким образом, крайне важно, чтобы антивирус постоянно поддерживался в актуальном состоянии и регулярно проводил сканирование системы.

СОВЕТ ОТ СПЕЦИАЛИСТА: Как показывает опыт, целесообразно всегда создавать резервную копию системы Windows и (или) точку восстановления системы, прежде чем вносить какие-либо изменения в аппаратное или программное обеспечение на компьютере. Таким образом, в случае неблагоприятного поворота событий и возникновения связанной с файлом oem16.inf ошибки «синего экрана» после недавних изменений можно восстановить систему в предыдущее состояние.
Как исправить ошибки oem16.inf — 3-шаговое руководство (время выполнения: ~5-15 мин.)
Если вы столкнулись с одним из вышеуказанных сообщений об ошибке, выполните следующие действия по устранению неполадок, чтобы решить проблему oem16.inf. Эти шаги по устранению неполадок перечислены в рекомендуемом порядке выполнения.
Шаг 1. Восстановите компьютер до последней точки восстановления, «моментального снимка» или образа резервной копии, которые предшествуют появлению ошибки.
Чтобы начать восстановление системы (Windows XP, Vista, 7, 8 и 10):
- Нажмите кнопку «Пуск» в Windows
- В поле поиска введите «Восстановление системы» и нажмите ENTER.
- В результатах поиска найдите и нажмите «Восстановление системы»
- Введите пароль администратора (при необходимости).
- Следуйте инструкциям мастера восстановления системы, чтобы выбрать соответствующую точку восстановления.
- Восстановите компьютер к этому образу резервной копии.
Если на этапе 1 не удается устранить ошибку oem16.inf, перейдите к шагу 2 ниже.
Шаг 2. Если вы недавно установили приложение Panda Free Antivirus (или схожее программное обеспечение), удалите его, затем попробуйте переустановить Panda Free Antivirus.
Чтобы удалить программное обеспечение Panda Free Antivirus, выполните следующие инструкции (Windows XP, Vista, 7, 8 и 10):
- Нажмите кнопку «Пуск» в Windows
- В поле поиска введите «Удалить» и нажмите ENTER.
- В результатах поиска найдите и нажмите «Установка и удаление программ»
- Найдите запись для Panda Free Antivirus 18.06 и нажмите «Удалить»
- Следуйте указаниям по удалению.
После полного удаления приложения следует перезагрузить ПК и заново установить Panda Free Antivirus.
Если на этапе 2 также не удается устранить ошибку oem16.inf, перейдите к шагу 3 ниже.
Panda Free Antivirus 18.06
Panda Security
Шаг 3. Выполните обновление Windows.
Когда первые два шага не устранили проблему, целесообразно запустить Центр обновления Windows. Во многих случаях возникновение сообщений об ошибках oem16.inf может быть вызвано устаревшей операционной системой Windows. Чтобы запустить Центр обновления Windows, выполните следующие простые шаги:
- Нажмите кнопку «Пуск» в Windows
- В поле поиска введите «Обновить» и нажмите ENTER.
- В диалоговом окне Центра обновления Windows нажмите «Проверить наличие обновлений» (или аналогичную кнопку в зависимости от версии Windows)
- Если обновления доступны для загрузки, нажмите «Установить обновления».
- После завершения обновления следует перезагрузить ПК.
Если Центр обновления Windows не смог устранить сообщение об ошибке oem16.inf, перейдите к следующему шагу. Обратите внимание, что этот последний шаг рекомендуется только для продвинутых пользователей ПК.
Если эти шаги не принесут результата: скачайте и замените файл oem16.inf (внимание: для опытных пользователей)
Если ни один из предыдущих трех шагов по устранению неполадок не разрешил проблему, можно попробовать более агрессивный подход (примечание: не рекомендуется пользователям ПК начального уровня), загрузив и заменив соответствующую версию файла oem16.inf. Мы храним полную базу данных файлов oem16.inf со 100%-ной гарантией отсутствия вредоносного программного обеспечения для любой применимой версии Panda Free Antivirus . Чтобы загрузить и правильно заменить файл, выполните следующие действия:
- Найдите версию операционной системы Windows в нижеприведенном списке «Загрузить файлы oem16.inf».
- Нажмите соответствующую кнопку «Скачать», чтобы скачать версию файла Windows.
- Скопируйте этот файл в соответствующее расположение папки Panda Free Antivirus:
Windows 10: C:Windowsinf
Windows 10: C:Windowsinf - Перезагрузите компьютер.
Если этот последний шаг оказался безрезультативным и ошибка по-прежнему не устранена, единственно возможным вариантом остается выполнение чистой установки Windows 10.
СОВЕТ ОТ СПЕЦИАЛИСТА: Мы должны подчеркнуть, что переустановка Windows является достаточно длительной и сложной задачей для решения проблем, связанных с oem16.inf. Во избежание потери данных следует убедиться, что перед началом процесса вы создали резервные копии всех важных документов, изображений, установщиков программного обеспечения и других персональных данных. Если вы в настоящее время не создаете резервных копий своих данных, вам необходимо сделать это немедленно.
Скачать файлы oem16.inf (проверено на наличие вредоносного ПО — отсутствие 100 %)
ВНИМАНИЕ! Мы настоятельно не рекомендуем загружать и копировать oem16.inf в соответствующий системный каталог Windows. Panda Security, как правило, не выпускает файлы Panda Free Antivirus INF для загрузки, поскольку они входят в состав установщика программного обеспечения. Задача установщика заключается в том, чтобы обеспечить выполнение всех надлежащих проверок перед установкой и размещением oem16.inf и всех других файлов INF для Panda Free Antivirus. Неправильно установленный файл INF может нарушить стабильность работы системы и привести к тому, что программа или операционная система полностью перестанут работать. Действовать с осторожностью.
Файлы, относящиеся к oem16.inf
Файлы INF, относящиеся к oem16.inf
| Имя файла | Описание | Программа (версия) | Размер файла (байты) | Расположение файла |
|---|---|---|---|---|
| oem12.inf | Setup Information | Panda Free Antivirus 18.06 | 2628 | C:Windowsinf |
| psinreg.inf | Setup Information | Panda Free Antivirus 18.06 | 1978 | C:Program Files (x86)Panda SecurityPanda Sec… |
| oem15.inf | Setup Information | Panda Free Antivirus 18.06 | 2616 | C:Windowsinf |
| nnsprot.inf | Setup Information | Panda Free Antivirus 18.06 | 2628 | C:Program Files (x86)Panda SecurityPanda Sec… |
| nnssmtp.inf | Setup Information | Panda Free Antivirus 18.06 | 2616 | C:Program Files (x86)Panda SecurityPanda Sec… |
Другие файлы, связанные с oem16.inf
| Имя файла | Описание | Программа (версия) | Размер файла (байты) | Расположение файла |
|---|---|---|---|---|
| setupact.log | Log | Panda USB Vaccine 1.0.1.4 | 62521 | C:WindowsPantherUnattendGC |
| setupact.log | Log | Panda Free Antivirus 18.06 | 24317 | C:WindowsSystem32SysprepPanther |
| netnb.PNF | Precompiled INF | Panda Free Antivirus 18.06 | 5308 | C:WindowsSystem32DriverStoreFileRepository… |
| diagwrn.xml | Extensible Markup Language | Panda Free Antivirus 18.06 | 5718 | C:WindowsSystem32SysprepPanther |
| diagerr.xml | Extensible Markup Language | Panda USB Vaccine 1.0.1.4 | 5718 | C:WindowsSystem32SysprepPanther |
Вы скачиваете пробное программное обеспечение. Для разблокировки всех функций программного обеспечения требуется покупка годичной подписки, стоимость которой оставляет 39,95 долл. США. Подписка автоматически возобновляется в конце срока (Подробнее). Нажимая кнопку «Начать загрузку» и устанавливая «Программное обеспечение», я подтверждаю, что я прочитал (-а) и принимаю Лицензионное соглашение и Политику конфиденциальности компании Solvusoft.
Интеграция памяти с изоляцией ядра — отличная функция безопасности, но вы можете не включить ее, если драйвер WD препятствует механизму изоляции ядра. Полное сообщение об ошибке:
Не удается включить целостность памяти с изоляцией ядра из-за несовместимого драйвера ‘WDCSAM64_PREWIN8.SYS’
Проблема возникает, когда пользователь пытается включить интеграцию памяти с изоляцией ядра, но терпит неудачу, и когда он просматривает несовместимые драйверы, он обнаруживает, что проблема создана драйвером WD. Проблема не ограничивается конкретным производителем системы, и упоминается следующее сообщение:
wdcsam64_prewin8.sys Дата драйвера: 29.11.2017 Версия драйвера: 1.2.0.0 Опубликованное имя: oem16.infНесовместимый драйвер WD для интеграции памяти с изоляцией ядра
Прежде чем переходить к решению для включения изоляции ядра, убедитесь, что виртуализация включена в BIOS вашей системы (возможно, вам придется включить SVM на странице разгона в BIOS, если она доступна).
Решение: удалите проблемный драйвер WD и удалите его из DriverStore.
Проблема может быть результатом поврежденного драйвера вашего запоминающего устройства WD (в основном внешнего). В этом случае удаление поврежденного драйвера может решить проблему.
- Выключите систему и подключите все оборудование (особенно накопитель WD), которое используется с системой.
- Затем включите свою систему (лучше выполнить чистую загрузку системы) и войдите в систему, используя учетную запись администратора.
- Затем щелкните правой кнопкой мыши кнопку Windows и в меню быстрого доступа выберите «Диспетчер устройств».
Открыть диспетчер устройств
- Теперь разверните меню «Просмотр» и выберите «Показать скрытые устройства».
Показать скрытые устройства в диспетчере устройств
- Затем отключите устройство WD Ses (в разделе WD Drive Management). Кроме того, не забудьте отключить все устройства WD в разделе Контроллер хранения, Дисковые накопители и другие устройства (активные или скрытые).
Отключите и удалите устройство WD Ses
- Теперь удалите все устройства WD (отключенные на последнем шаге) и при удалении не забудьте поставить галочку «Удалить программное обеспечение драйвера этого устройства».
- Затем щелкните правой кнопкой мыши кнопку Windows и выберите «Приложения и функции».
Открыть приложения и функции
- Теперь удалите все приложения, принадлежащие WD (например, Smartware, WD Backup и т. Д.).
- Затем щелкните правой кнопкой мыши кнопку Windows и выберите Проводник.
Откройте проводник
- Теперь перейдите по следующему пути (где C — ваш системный диск): C: Windows System32 DriverStore FileRepository wdcsam.inf_amd64_7ce69fc8798d6116
- Затем возьмите на себя право владения (из системной учетной записи в свою учетную запись пользователя) файла wdcsam64_prewin8.sys (убедитесь, что вы предоставили себе полный контроль), и если вы не можете стать владельцем, попробуйте принять владение в безопасном режиме вашей системы. .
- Теперь удалите файл wdcsam64_prewin8.sys и повторите то же самое для любой другой папки, начиная с WDCSAM.INF в папке FileRepository.
- Затем найдите wdcsam64_prewin8.sys в поиске проводника (пока выбран этот компьютер) и удалите все файлы, обнаруженные в результате поиска.
Найдите файл wdcsam64_prewin8.sys
- Теперь проверьте, можно ли включить Core Isolation.
- Если нет, выключите систему и удалите все ненужные устройства (особенно устройства хранения WD).
- Затем включите вашу систему и проверьте, можно ли включить изоляцию ядра.
Если проблема возникла снова, попробуйте удалить все скрытые устройства WD из диспетчера устройств, и, надеюсь, вы сможете без проблем включить изоляцию ядра.
Если проблема все еще существует, вы можете использовать автозапуск, чтобы определить, создает ли какой-либо из элементов автозагрузки проблему. Помните, что после включения изоляции ядра вы сможете использовать устройство WD после переустановки его драйвера.
Некоторые драйверы размещают на сайтах в виде INF-файлов, поэтому у пользователей часто возникают сложности с их установкой. В частности, появляется ошибка при установке их стандартным способом. Давайте же разберёмся, что собой представляют INF-файлы и каким образом они устанавливаются.

Что такое INF-файл
Файл с расширением INF – это текстовый файл, содержащий информацию об устройствах и установочных файлах. Он состоит из множества разделов, предназначенных для определённых целей. Например, для копирования в нужные директории файлов или внесения изменений в системный реестр. В общем, в файле такого формата содержится всё, что требуется для инсталляции драйверов, системных инсталляционных пакетов и различных приложений.
ВАЖНО. INF-файлы могут содержать вирусы, поэтому нужно их скачивать с проверенных сайтов.
Как принудительно установить драйвер и обойти ошибку
Устанавливается файл INF следующим образом:
- Пользователь ПК кликает правой кнопкой мышки по INF-файлу.
- После чего выбирает в новом окошке строчку «Установить».

- Затем запускается процесс инсталляции драйвера.
Часто при установке таких пакетов возникает ошибка «Выбранный INF-файл не поддерживает этот метод установки», поэтому нужно попробовать инсталлировать его другими способами.

Иногда такая ошибка возникает из-за несовместимости файла с разрядностью системы, так как некоторые предусмотрены для 86-битных ОС, а некоторые для 64-битных. Если проблема связана с этим, то нужно скачать файл совместимый с вашей версией Windows. Разрядность системы можно посмотреть в разделе «Система» в панели управления Windows.
Эта проблема также может возникать из-за отсутствия в INF-файле разделов DefaultInstall или DefaultInstall.Service. Но это не значит, что его нельзя инсталлировать.
В этом случае можно попробовать поставить его двумя способами:
- Через «Диспетчер устройств».
- При помощи командной строки.
При использовании первого способа нужно знать, для какого устройства предназначен данный драйвер.
Первым способом файл с расширением INF устанавливается так:
- Через меню «Пуск» открывается «Панель задач».

- Выбирается раздел «Система»,
- Затем в меню инструментов выбирается «Диспетчер устройств».

- В списке устройств мышкой кликается нужное и выбирается строчка «Обновить драйвер».

- Далее выбирается строчка «Выполнить поиск драйверов на этом компьютере».

- Потом на жёстком диске выбирается папка, в которой находится скачанный и распакованный драйвер. При этом должна стоять галочка возле «Включая вложенные папки».
- Затем нажимают кнопку «Далее», после чего должен запустится процесс инсталляции файла.

Если поставить драйвер этим способом не получается, то можно попробовать установить его с помощью командной строки. Чтобы установить драйверы в формате INF в Windows 7 с её помощью, нужно сделать следующее:
- Сначала требуется с расширенными правами запустить командную строку.
- Затем в неё требуется ввести команду pnputil и нажать Enter.

- Потом ввести pnputil.exe -a D:wifinetathrx.inf (название раздела жёсткого диска, папки с драйвером и самого INF-файла нужно изменить).
- Затем требуется также нажать Enter, после чего пакет добавится в систему и появится окно как на нижней картинке.

- Чтобы он заработал, нужно перезапустить ПК или в диспетчере задач обновить конфигурацию оборудования. Если же устанавливается новая версия ПО, то нужно удалить старый драйвер и выполнить те же самые действия.
В Windows 10 это делается почти также. Для инсталляции INF файла нужно:
- Запустить от имени администратора консоль.
- Ввести команду pnputil.exe/add-driver * c:drivers (раздел диска и папку требуется поменять) и нажать Enter.
Можно также ввести в PowerShell скрипт:
Get-ChildItem "C:Driver File Location" -Recurse -Filter "*inf" | ForEach-Object { PNPUtil.exe /add-driver $_.FullName /install }
и установить все INF-файлы из нужного каталога (в скрипте указана папка Drivers на диске C, поэтому нужно указать путь к своему каталогу). Этими способами можно поставить практически все драйвера, в том числе и для принтера.
ВНИМАНИЕ. Если первым способом не получается установить ПО, то нужно пробовать второй способ. Конечно, установка драйвера с помощью диспетчера устройств более удобная и простая, но зато командная строка более функциональная.
Сложности с инсталляцией неподписанных драйверов
Иногда проблема возникает с инсталляцией неподписанных драйверов, поэтому требуется деактивировать проверку их подписей. Это делается двумя способами, поэтому нужно разобрать каждый.
Отключение проверки подписей через командную строку выглядит так:
- Запускается с расширенными правами командная строка.
- В неё вводится команда bcdedit.exe /set nointegritychecks ON и нажимается ENTER.

- Потом ПК перезапускается, чтобы изменения вступили в силу.
Для включения этой функции требуется использовать команду bcdedit.exe /set nointegritychecks OFF, которую нужно также ввести в эту консоль и применить.
Второй способ предусматривает отключение проверки подписей через параметры загрузки в Windows 10:
- Сначала открываются «Параметры» системы. Для этого нажимается одновременно Win+i.
- Затем выбирается раздел «Обновление и безопасность».

- Потом открывается вкладка «Восстановление», а затем в разделе «Особые варианты загрузки» нажимается кнопка «Перезагрузить».

- Далее после перезапуска ПК на дисплее появится окно с различными инструментами, в котором требуется выбрать пункт «Поиск и устранение», после чего в новом окне нажать вкладку «Другие параметры», а затем выбрать «Параметры загрузки» и нажать «Перезагрузить».




- После перезапуска на дисплее будут предложены все возможные варианты загрузки системы, в этом списке нужно выбрать кнопкой F7 строчку «Отключить обязательную проверку подписи драйверов».

- Потом система будет загружена в этом режиме и до выключения или перезапуска можно будет ставить драйверы без подписи.
На Windows 7 для загрузки в этом режиме нужно нажать F8 после запуска ПК, а затем выбрать такую же строчку.

СОВЕТ. Чтобы этой проблемы не возникало, нужно всегда скачивать драйверы с сайта производителя ПК или периферийного оборудования. То есть загрузка драйвера с сайта производителя позволит вам гарантировано поставить драйвер на ПК и подключить установленное оборудование.
Восстановление повреждённых системных файлов
При повреждении системных файлов их можно довольно быстро восстановить стандартным инструментом Windows.
Делается это следующим образом:
- Запускается с расширенными правами командная строка, после чего в неё вводится команда sfc /scannow и нажимается Enter.

- Затем будут просканированы все системные файлы и при обнаружении повреждённых утилита заменит их исправными. На это иногда уходит много времени, поэтому нужно запастись терпением и подождать.

Если в процессе сканирования проблемы не будут выявлены, то в командной строке появится сообщение как на нижней картинке.

ВАЖНО. Для устранения всех проблем желательно проделать данную процедуру не менее 3 раз.
Сегодня мы разобрали, что такое INF-файлы, для чего они служат и как через них правильно устанавливать драйверы. Надеемся, что в нашей статье вы нашли ответы на свои вопросы и останетесь нашим постоянным читателем!
Вы тут: Главная → Windows → PowerShell: как в Windows 10 быстро выявить дубликаты драйверов и удалить их
На ПК одного из коллег возникла острая необходимость высвободить как можно больше пространства на диске. Стандартные средства очистки и ручное удаление ненужного лишь незначительно улучшили ситуацию.
Я заинтересовался вопросом и применил свое руководство на практике. Помимо прочего мое внимание привлекло хранилище драйверов, занимающее 4GB. Сегодня я покажу, как автоматизировать анализ и очистку хранилища.
[+] Сегодня в программе
Общие сведения
Сначала немного теории в формате «вопрос – ответ».
Как образуются дубликаты драйверов
Хранилище драйверов находится в папке C:WindowsSystem32DriverStore. Когда система определяет устройство, она пытается установить для него подходящий драйвер из хранилища. Если там драйвера нет, ОС ищет подходящий в Windows Update и устанавливает его с серверов Microsoft. Вы также можете установить драйвер вручную, например, скачав его с сайта изготовителя. В любом случае установленный драйвер помещается в хранилище.
По мере работы ОС могут выходить обновления драйверов. Вне зависимости от способа установки новые версии также попадают в хранилище. Наличие в нем предыдущей версии драйвера обеспечивает его откат, который вы можете выполнить в диспетчере устройств в случае возникновения проблемы с новым драйвером.
Нужно ли удалять дубликаты драйверов
В подавляющем большинстве случаев удаление вручную или скриптом не требуется, потому что:
- Хранилище драйверов редко достигает существенного размера относительно общего объема диска.
- В Windows 8.1 и 10 предусмотрена автоматическая очистка старых пакетов драйверов. Windows 10 с контролем памяти «на автомате» в целом хорошо с этим справляется без ручного вмешательства (в классической утилите cleanmgr тоже имеется опция очистки).
Но есть сценарии, при которых очистка дубликатов может иметь смысл, например:
- У вас маленький сами знаете что, и в этой ситуации хранилище драйверов занимает значимый процент диска.
- В некоторых случаях системная очистка игнорирует различные версии одного драйвера. Мне не удалось найти документацию по ее алгоритму, поэтому о причинах можно только гадать.
Сочетание этих факторов вкупе с реальной необходимостью освободить как можно больше места может быть поводом к анализу хранилища драйверов и удалению дубликатов. На системе моего коллеги именно так и было — 2.7GB дубликатов драйверов в хранилище занимали 2% SSD объемом 120GB.
10.0.17134 Total size of duplicate drivers: 2759.8 MB ClassDescription Provider Driver Size (MB)Name Version Date BootCritical ---------------- ------------ ------ ---- ---- ------- ---- ------------ Extensions Intel oem17.inf 0 hdbusext.inf 26.20.100.7263 2019-09-25 False Extensions Intel oem22.inf 0 hdbusext.inf 27.20.100.7989 2020-06-05 False System devices Intel oem15.inf 0,3 heci.inf 1815.12.0.2021 2018-04-11 True Display adapters Intel oem7.inf 814,7 igdlh64.inf 23.20.16.4944 2018-02-04 False Display adapters Intel oem16.inf 1004,1 igdlh64.inf 26.20.100.7263 2019-09-25 False Display adapters Intel oem21.inf 907,3 igdlh64.inf 27.20.100.7989 2020-06-05 False Sound, video and game controllers Intel(R) oem23.inf 5,7 intcdaud.inf 10.26.0.9 2019-12-03 False Sound, video and game controllers Intel(R) oem18.inf 5,7 intcdaud.inf 10.26.0.8 2019-05-17 False Sound, video and game controllers Intel(R) oem19.inf 7,1 intcdaud.inf 10.27.0.5 2019-08-22 False Sound, video and game controllers Intel(R) oem6.inf 7,6 intcdaud.inf 10.24.0.3 2017-12-06 False Sound, video and game controllers Intel(R) oem24.inf 7,1 intcdaud.inf 10.27.0.8 2020-01-21 False Network adapters Cisco oem11.inf 0,1 vpnva-6.inf 3.1.6019.0 2014-02-26 False Network adapters Cisco oem10.inf 0,1 vpnva-6.inf 3.1.4065.0 2013-08-30 False
Это, кстати, вывод скрипта, который я разберу ниже.
Как определяются дубликаты драйверов
Про встроенную очистку мне неведомо, но в общем случае подход несложный. У драйвера есть исходное имя файла вида igdlh64.inf, а каждая версия хранится в отдельной папке с невзрачным именем вида oem16.inf наряду с сопутствующими файлами.
Соответственно, если в хранилище на некое исходное имя драйвера приходится более одной версии, получается как минимум один дубликат. В теории есть небольшая вероятность случайного совпадения исходных имен для разных драйверов, но в пределах одного класса устройств и поставщика это практически исключено.
Безопасно ли удалять дубликаты драйверов
Удаление любым поддерживаемым способом — относительно безопасная операция, даже если вы ошибочно указали не ту версию драйвера. Windows не даст снести использующийся в настоящий момент драйвер. Для этого надо сначала удалить устройство, что несложно, однако выходит за рамки статьи.
Однако после удаления всех дубликатов конкретного драйвера невозможно будет откатить драйвер к предыдущей версии. Это должно быть очевидно, но на всякий случай предупреждаю.
Зачем нужен скрипт, если есть Driver Store Explorer
В домашних условиях вы можете задействовать удобную утилиту Driver Store Explorer с графическим интерфейсом и открытым исходным кодом.

Однако для удаленной диагностики скрипт может оказаться проще, чем инструктирование пользователя, особенно неопытного. В ограниченной корпоративной среде применение сторонней утилиты может быть в принципе невозможно. Скрипт задействует только встроенные системные средства и выводит более емкую картину.
Вообще, для меня эта запись не столько про удаление драйверов, сколько про PowerShell 🙂 Потому что столкнувшись с задачей по автоматизации, я всегда стараюсь развить навыки, ибо они пригодятся и в будущем.
Сбор и вывод сведений должен работать в Windows 8.1+, а резервное копирование и удаление – только в Windows 10 1607+ (подробнее о причинах ниже).
👉 Скачать скрипт dupe-drivers.ps1 в архиве (инструкции по разблокировке и запуску).
В принципе, задача удаления дубликатов решается парой команд, но строк в скрипте больше. С одной стороны, так удобнее читать, а с другой – хотелось дополнительной информации для анализа. Дальше я разберу ключевые составляющие скрипта.
Параметры скрипта
Вы можете запускать скрипт с параметрами:
-Outfile— путь к файлу с результатами. По умолчанию — рабочий стол.-Backup— путь к папке для бэкапа драйверов. По умолчанию –C:drivers-backup-YYYY-MM-DD, но лучше указать другой диск, конечно.-HideRollback— исключение из анализа/вывода драйверов, использующихся для отката текущего драйвера. По умолчанию исключаются только версии, используемые системой, т.е. самые новые. Параметр не принимает значения.
Получение списка дубликатов
Красота PowerShell в том, что непростая на первый взгляд цель достигается одной командой!
$dupe = @()
Get-WindowsDriver -Online |
Select-Object ClassDescription, ProviderName, Driver, Version, Date, BootCritical,
@{name="Name"; expression= {Split-Path -Path $_.OriginalFileName -Leaf}},
@{name="Cat"; expression= {Split-Path -Path $_.OriginalFileName}} |
Group-Object -Property Name | Where-Object {$_.Count -gt 1} |
ForEach-Object {$dupe += $_.Group | Sort-Object Date -Descending | Select-Object -Skip 1}
В первой строке просто объявляется массив для сбора в него дубликатов. Затем в дело вступает мощный конвейер. Это фактически «ванлайнер», но я разбил код на строки для наглядности:
- Get-WindowsDriver получает список всех сторонних драйверов. Для вывода абсолютно всех драйверов можно использовать параметр
-All, но здесь это не нужно. - Select-Object формирует список нужных для анализа свойств драйвера. Прелесть в том, что можно на лету преобразовывать их значения. Так в свойстве
OriginalFileNameсодержится полный путь к исходному INF-файлу. У меня в строках 4 и 5: - Имя
OriginalFileNameзаменяется наNameдля краткости, а значение сокращается до имени файла с помощью командлета Split-Path с параметром-Leaf(последний элемент пути). - Имя
Catприсваивается пути к родительской папке драйвера с помощью того же Split-Path, но уже без-Leaf. Путь пригодится дальше для подсчета размера дубликатов. - Group-Object группирует драйверы по исходному имени, а Where-Object отбирает имена, для которых имеется более одной группы. Логика та же, что в разделе статьи про определение дубликатов. На этом этапе такая картина:
Count Name Group ----- ---- ----- 4 tplcd.inf {@{ClassDescription=Monitors; ProviderName=Lenovo; Driver=oem16.inf; Version=6.13.3.... 2 powermgr.inf {@{ClassDescription=System devices; ProviderName=Lenovo; Driver=oem33.inf; Version=1... 2 nvhda.inf {@{ClassDescription=Sound, video and game controllers; ProviderName=NVIDIA Corporati... 2 itpcdless.inf {@{ClassDescription=Human Interface Devices; ProviderName=Microsoft; Driver=oem49.in... 2 ipcdless.inf {@{ClassDescription=Human Interface Devices; ProviderName=Microsoft; Driver=oem56.in... - Наконец, с помощью ForEach-Object для каждой группы выполняется вложенный конвейер:
- Sort-Object сортирует драйверы по дате (новые сверху)
- Select-Object с параметром
-Skip 1выбирает все объекты кроме первого, т.е. кроме самого нового драйвера $dupe +=добавляет эти объекты в ранее объявленный массив
В итоге массив $dupe уже содержит все дубликаты драйверов, т.е. только предыдущие версии, дальнейшая работа ведется уже с ним. Теперь можно удалить все дубликаты одной командой, но хочется проанализировать ситуацию.
Подсчет размера дубликатов
В NTFS нет понятия размер папки, поэтому файловые менеджеры подсчитывают его динамически, исходя из общего размера файлов в папке. В PowerShell это тоже достигается перебором всех файлов в папке и суммированием их свойства Length (размера в байтах), хотя отдельный командлет не помешал бы. Это не самый эффективный способ, есть и побыстрее — модуль GetSTFolderSize, но для небольшого количества папок и файлов его достаточно.
$dupe | ForEach-Object {
$totalsize += [math]::Round(((Get-ChildItem $_.Cat -Recurse | Measure-Object length -Sum).Sum)/1mb,1)
}
Для каждого дубликата подсчитывается размер файлов в родительской папке драйвера Cat, округляется до одного знака после запятой и добавляется в переменную $totalsize. В итоге получается общий размер дубликатов.
Поскольку по ходу дела вычисляется размер каждого дубликата, хочется заодно добавить его в сводку, т.е. в объект $dupe. Для этого предусмотрен командлет Add-Member, с которым я раньше не пересекался в практических задачах.
Здесь у меня случился единственный затык – не работал конвейер вида $dupe | Add-Member. Василий Гусев объяснил, что этот командлет не выполняет скриптблок (здесь – подсчет размера файлов), а сохраняет его в значение.
Поэтому в рамках перебора дубликатов пришлось помещать размер каждой папки в переменную, а затем уже добавлять ее значение в объект. $totalsize все так же подсчитывает общий размер.
$dupe | ForEach-Object {
$s = [math]::Round(((Get-ChildItem $_.Cat -Recurse | Measure-Object length -Sum).Sum)/1mb,1)
#Add size info to the dupe driver object
$_ | Add-Member -MemberType NoteProperty -Name Size -Value $s
#Calculate total size of dupe drivers
$totalsize += $s
}
Однако в комментариях Андрей предложил более оптимальный вариант — добавлять свойство Size на этапе формирования объекта, что делает Add-Member ненужным на этом этапе. Скрипт обновлен, но в статье я оставил как было.
Вывод результатов на экран и сохранение в файл я разбирать в деталях не буду. Однако хочу обратить ваше внимание на командлет Tee-Object. С его помощью можно в один прием записать результат в файл и вывести в консоль.
Бэкап и удаление дубликатов
Прежде чем удалять драйверы, имеет смысл сделать их резервную копию. В скрипте команды бэкапа и удаления драйверов закомментированы.
Бэкап
Начиная с Windows 8.1 Update 1 для экспорта всех сторонних драйверов можно задействовать dism.exe с ключом /Export-Driver или командлет PowerShell Export-WindowsDriver. Утилита pnputil обрела такую возможность в Windows 10 1607, причем с выбором драйверов для экспорта.
Бэкап всех дубликатов. Массив просто передается по конвейеру утилите pnputil.
$dupe | ForEach-Object {pnputil /export-driver $_.Driver $Backup}
Бэкап только новейших дубликатов. Мне больше нравится вариант резервного копирования только того драйвера, который [предположительно] предлагается для отката в диспетчере устройств. Учтите, что при запуске скрипта с параметром -HideRollback откатная версия не удаляется, а в резервную копию попадает та, что была установлена перед ней.
$dupe | Group-Object -Property Name | ForEach-Object {
$_.Group | Select-Object -First 1 | ForEach-Object {
pnputil /export-driver $_.Driver $Backup
}
}
Здесь я снова группирую драйверы по имени и выбираю нужные командлетом Select-Object. Выше я с помощью -Skip 1 отбрасывал новейший драйвер, т.е. используемый системой, чтобы оставить только дубликаты. А сейчас выбираю среди дубликатов самый новый, т.е. первый, с помощью -First 1.
Удаление
Парадоксально, но в инструментарии DISM не предусмотрено удаление драйвера из запущенной системы. Командлет PowerShell Remove-WindowsDriver и ключ dism.exe /Remove-Driver работают только с автономными образами. Зато такая функция есть в утилите pnputil, которая активно развивается в Windows 10, что следует из документации.
Отмечу, что pnputil постепенно вобрала в себя ряд функций консольного диспетчера устройств devcon. Теперь утилиты и модуля PowerShell PnpDevice уже достаточно для автоматизации различных типовых задач вроде удаления или перезапуска устройств.
Удаление дубликатов конкретного драйвера. В данном случае выборка ведется по исходному имени. Как правило, дубликаты драйвера видео занимают больше всего места, а остальные можно вообще не трогать.
$dupe | Where-Object {$_.Name -eq 'igdlh64.inf'} |
ForEach-Object {pnputil /delete-driver $_.Driver}
Аналогичной выборкой вы можете удалить драйверы определенной версии или целого класса, однако учтите, что название класса варьируется в зависимости от локализации.
Удаление всех дубликатов. Весь массив передается по конвейеру утилите pnputil.
$dupe | ForEach-Object {pnputil /delete-driver $_.Driver}
Рекомендации по использованию скрипта
Публикация статьи и скрипта не является призывом к удалению дубликатов драйверов. Я делюсь с вами способом и инструментом, который вы можете подстроить под свою ситуацию по результатам анализа.
- Не выполняйте удаление вслепую, сначала изучите расклад. Чистка не имеет смысла без существенной экономии.
- Не удаляйте драйверы без предварительного бэкапа. Его можно зачистить спустя какое-то время, если места нет.
- Оставляйте в хранилище последний дубликат, сохраняя возможность отката (вариант для самых осторожных). Это достигается запуском скрипта с параметром
-HideRollback.
Дискуссия
Давайте посмотрим, как у вас обстоят дела с дубликатами драйверов! В комментариях опубликуйте:
- Ссылку на pastebin с результатами выполнения скрипта.
- Ожидаемый размер экономии от удаления пакетов драйверов в утиите cleanmgr, запущенной из командной строки от имени администратора.

- Объем системного раздела из свойств диска. Это позволяет оценить долю пространства, занятого старыми версиями.
- Дату первоначальной установки ОС. Это может дать дополнительную пищу для размышлений. Тему я разбирал совсем недавно.
When you attempt to turn on Memory Integrity in Windows Security, the Windows Security page scans the drivers to check their compatibility with the Core Isolation/Memory Integrity feature. If there are incompatible drivers found, the list of incompatible drivers is shown. You’ll be asked to address the issue before enabling Memory Integrity.
Device security Memory integrity can't be turned on Try resolving any incompatibilities with your drivers.

Clicking on the “Review incompatible drivers” shows you the list of incompatible drivers.

You need to click on each incompatible driver entry shown on the Windows (Defender) Security page to expand the section. It shows the Published name, Manufacturer name, driver information, and date. If the INF file name is not shown, the driver file name is displayed.
The following drivers were shown as being incompatible with the Memory integrity feature:
- ssudcdf.sys [Published Name: oem36.inf]
- ssudmgr.sys [Published Name: oem34.inf]
- ssudobex.sys [Published Name: oem42.inf]
- ssudserd.sys [Published Name: oem36.inf]
- igdkmd64.sys [Published Name: oem56.inf]
- igdkmd64.sys [Published Name: oem40.inf]
- igdkmd64.sys (without an INF file name**) – this item is not showing in the above screenshot.
**Note: If the Windows Security page doesn’t show any OEM#.INF names on your computer, you can use Microsoft Sysinternals Autoruns or the SC.exe console tool to find and delete the driver.
According to Microsoft: If you want to restore the Memory integrity setting, you can try to resolve a driver incompatibility by seeing if an updated and compatible driver is available through Windows Update or from the driver manufacturer. Microsoft does not recommend that you delete drivers to attempt to restore this setting.
However, an updated device driver version may be unavailable for some devices from the hardware vendor or Windows Update. In that case, you can uninstall the driver if it’s insignificant to the system.
Can I delete the drivers?
Warning: Please exercise caution when deleting device drivers. Delete them only if you’re 100% sure that the device driver is optional for the computer, or you no longer use the corresponding hardware anymore, or you’re found an updated version of the driver from the hardware vendor’s site.
If you open the C:WindowsINFOEM##.inf indicated on the Windows Security page, you can find the function of that driver.
For instance, the OEM##.inf had the following information in the headers:
[OEM32.inf] ; Name : ssudobex.inf ; Function : Install SAMSUNG Escape USB Obex Serial Port driver [OEM36.inf] ; Name : ssudcdf.inf ; Function : Install SAMSUNG Escape USB CD Free driver [OEM40.inf] ; Installation INF for the Intel Corporation graphics adapter. [OEM44.inf] ; Name : ssuddmgr.inf ; Function : Install SAMSUNG Escape USB Device Management Serial Port driver [OEM56.inf] ; Name : ssudserd.inf ; Function : Install SAMSUNG Escape USB Diagnostic Serial Port driver
Four items out of the above six appeared to be unnecessary components. The other entry igdkmd64.sys belongs to Intel Graphics, which is currently in use.
Deleting the drivers
After backing all the device drivers, I decided to bite the bullet and delete all six drivers.
(To know how to backup the device drivers using DISM or PowerShell, check out the article How to Backup and Restore Device Drivers in Windows 11/10.)
The command-line syntax to delete a driver from Admin Command Prompt is:
pnputil /delete-driver <Published Name> /uninstall
Here are the actual commands I used:
pnputil /delete-driver oem44.inf /uninstall pnputil /delete-driver oem32.inf /uninstall pnputil /delete-driver oem56.inf /uninstall pnputil /delete-driver oem36.inf /uninstall pnputil /delete-driver oem40.inf /uninstall

The first four commands were executed successfully, and their driver packages have been deleted. The 5th one (Intel graphics driver) returned the following error:
Failed to delete drivers package: One or more devices are presently installed using the specified INF.
I reran the pnputil command, but this time used the /force option.
pnputil /delete-driver oem40.inf /force
That did the trick!

You can also try the following command-line, which is more comprehensive than the earlier one:
pnputil /delete-driver oem40.inf /uninstall /force
After rebooting, the Core Isolation again showed the incompatibility list (the 6th item igdkmd64.sys – without an OEM#.INF file name showed up again.)

Deleted the driver using Autoruns
I downloaded Autoruns from Microsoft, searched for the exact driver file name (igdkmd64.sys), and deleted the driver/service from the “Drivers” tab.

After another reboot, I could turn on the Memory integrity feature under Core isolation on Windows (Defender) Security page.

Editor’s note: After the reboot, my Intel Graphics driver didn’t load, but the system was working perfectly fine even without it. Device Manager showed a yellow exclamation (Code 48 error) next to the Intel Graphics driver.
It stated the following:
The driver for this device has been blocked from starting because it is known to have problems with Windows. Contact the hardware vendor for a new driver. (Code 48) Click 'Check for solutions' to send data about this device to Microsoft and to see if there is a solution available.
I got the following pop-up at startup, which I dismissed.

A driver cannot load on this device Driver: Intel Graphics Kernel Mode Driver Intel Corporation A security setting is preventing this driver from loading. You'll need to adjust your settings to load this driver.
Neither Intel nor Dell has the updated drivers for this hardware. The latest version (20.19.15.5063, A08 – Released three years ago) available on Dell’s site is what I had installed and is incompatible with Microsoft Defender’s Core Isolation.
Anyway, the system (“OptiPlex 9020”) is working fine with Memory Integrity turned On, except that the “Sleep” feature is disabled due to the missing Graphics driver. The “Power” menu will no longer list “Sleep”.
Running powercfg.exe /a (which reports the sleep states available on the system) from a Command Prompt window will show this:
The following sleep states are available on this system:
-
- Hibernate
-
- Fast Startup
The following sleep states are not available on this system:
-
- Standby (S1) The system firmware does not support this standby state. An internal system component has disabled this standby state. Graphics
However, the hibernate option works fine for me.
Additional Information
An alternate way to delete the drivers
You can also delete driver packages using the “Driver Store Explorer” software as an alternative to Pnputil.exe. But it shows the “Original Name” instead of the “Published Name” for the drivers/INF files.
So, it would be easier if you ran the following DISM command-line first and noted the INF file name under the “Original File Name” column.
dism /online /get-drivers /format:table
The above command shows the driver information in the following format:
(Note: The list below is shown as an example. It’s not the complete list of drivers.)
Obtaining list of 3rd party drivers from the driver store... Driver packages listing: -------------- | ----------------------- | ----- | --------------------- | ------------------------------ | ---------- | --------------- Published Name | Original File Name | Inbox | Class Name | Provider Name | Date | Version -------------- | ----------------------- | ----- | --------------------- | ------------------------------ | ---------- | --------------- oem0.inf | ssudrmnetmp.inf | No | Net | SAMSUNG Electronics Co., Ltd. | 1/2/2014 | 2.11.7.0 oem1.inf | jswpslwfx.inf | No | NetService | Atheros | 5/15/2008 | 1.0.0.50 oem10.inf | hpoa1ss.inf | No | Image | Hewlett-Packard | 6/21/2006 | 6.2.8306.0 oem11.inf | iastorac.inf | No | SCSIAdapter | Intel Corporation | 11/17/2015 | 14.8.1.1043 oem12.inf | ntprint.inf | No | Printer | Microsoft | 6/21/2006 | 10.0.19041.1806 oem13.inf | netwtw02.inf | No | net | Intel | 4/29/2019 | 18.33.17.1 oem14.inf | dbutildrv2.inf | No | DellUtils | Dell Technologies | 5/6/2021 | 2.7.0.0 oem15.inf | netwtw04.inf | No | net | Intel | 4/29/2019 | 19.51.21.1 oem16.inf | ss_conn_usb_driver.inf | No | USB | SAMSUNG Electronics Co., Ltd. | 1/2/2014 | 2.11.7.0 oem18.inf | intcdaud.inf | No | MEDIA | Intel(R) Corporation | 4/26/2018 | 6.16.0.3208 oem19.inf | ssudmarv.inf | No | USB | SAMSUNG Electronics Co., Ltd. | 1/2/2014 | 2.11.7.0 oem2.inf | oemvista.inf | No | Net | ExpressVPN | 4/30/2019 | 9.24.2.45
Once you note the “Original File Name”, switch to Driver Store Explorer and delete the corresponding items.

wdcsam64_prewin8.sys
If the Western Digital external hard disk driver wdcsam64_prewin8.sys is shown as incompatible, note down its OEM#.inf number as explained earlier, and delete it using the following command:

In the above case, run this command:
pnputil /delete-driver oem23.inf /uninstall /force
The above command deletes the driver from the driver store (location mentioned below) and the registry.
C:WindowsSystem32DriverStoreFileRepositorywdcsam.inf_amd64_7ce69fc8798d6116
wdcsam64.sys
On some systems, the driver wdcsam64.sys shows up without an OEM#inf number.

Company: Western Digital Technologies Description: WD SCSI Architecture Model (SAM) driver Product: WD External Storage Machine Type: 64-bit Binary Version: 1.0.7.2
You should be able to find and delete the above item (wdcsam64.sys) from the Drivers tab of Autoruns, like we deleted the Intel Graphics driver igdkmd64.sys.

That deletes the WDC_SAM driver/service. Next, delete the corresponding driver file “C:WindowsSystem32Driverswdcsam64.sys” manually. If the file is in use, please reboot and then delete the file.
Delete WD driver via Device Manager
Western Digital suggests that you delete the incompatible driver via Device Manager.
- Uninstall all WD software.
- Uninstall the older WD driver.
- Access Device Manager.
- From the the View menu, click “Show Hidden Devices”.
- Look for WD Drive Management devices.
- Select WD SES Device, right-click, and click “Uninstall device”.

- Check the box for “Delete the driver software for this device.”

- Click Uninstall.
- Reboot the computer.
- Enable memory integrity.
- Download and install the latest release of WD Software if available.
Here is a related WD support forum thread you may want to check out.
- Unable to Enable Core Isolation Memory Integrity due to Western Digital Driver
You can use the SC.exe command as well
The SC.exe command-line can also be used to delete the driver/service if you want to automate the task on other systems; if you don’t want to download Autoruns on every computer.
First, find the service’s short name using WMIC.exe console tool.
Example 1: igdkmd64.sys
Assuming you want to find the service name of the driver “igdkmd64.sys“, run this command:
wmic sysdriver where "PathName like '%igdkmd64%'" get Name, PathName, State
The output looks like this:
Name PathName State igfx C:WINDOWSsystem32DRIVERSigdkmd64.sys Stopped

Optionally, if you want to get additional info about the driver, run the following:
wmic sysdriver where "PathName like '%igdkmd64%'" get Name, PathName, State, Description, Caption or wmic sysdriver where "PathName like '%igdkmd64%'" get /format:list
Now that you know the service name (“igfx“), run this command to delete the service:
sc.exe delete igfx
That’s it. The Intel Graphics service is now deleted.
Example 2: wdcsam64.sys
Likewise, for wdcsam64.sys, find its service’s short name (which is “WDC_SAM“) using this command:
wmic sysdriver where "PathName like '%wdcsam64%'" get Name, PathName, State
Then run:
sc.exe delete WDC_SAM
Output:
C:windowssystem32>sc.exe delete WDC_SAM [SC] DeleteService SUCCESS
The Western Digital driver is now deleted.
Example 3: xhunter1.sys
xhunter1.sys is a component of XIGNCODE3 anti-cheat program, which is installed with various game titles. If uninstalling the component or the respective game software doesn’t help you enable Core Isolation, then you may delete its driver (whose service name “xhunter1“) using the following command:
sc.exe delete xhunter1
Then, manually delete C:WindowsSystem32Driversxhunter1.sys after a reboot.
Example 4: PxHlpa64.sys
PxHlpa64.sys is a module supplied with DVD-burning programs such as Roxio/Sonic, which Corel Corporation now owns. Other programs, such as Adobe Premiere Elements, seem to use this module for DVD-burning capability.
To delete the service, run this command:
sc.exe delete PxHlpa64
And then run:
ren C:WINDOWSsystem32driversPxHlpa64.sys PxHlpa64.sys.old
Restart Windows.
Also, check out this Corel KB article You cannot enable the Windows Memory Integrity feature because PxHlpa64.sys is not compatible.
One small request: If you liked this post, please share this?
One «tiny» share from you would seriously help a lot with the growth of this blog.
Some great suggestions:
- Pin it!
- Share it to your favorite blog + Facebook, Reddit
- Tweet it!
So thank you so much for your support. It won’t take more than 10 seconds of your time. The share buttons are right below. 🙂