По умолчанию Windows требует, что все драйверы устройств были подписаны валидной цифровой подписью. Если цифровая подпись драйвера отсутствует, или подписывающий сертификат отозван, Windows отклонит установку такого драйвера. Если вам нужно установить в Windows какой-то старый драйвер без цифровой подписи, рекомендуется самостоятельно подписать драйвер с помощью самоподписанного сертификата (сложный, но безопасный вариант). В крайнем случае можно полностью отключить проверку цифровой подписи драйверов в Windows (хотя это и менее безопасный способ). В этой статье мы рассмотрим, как отключить проверку подписи драйверов и установить неподписанный драйвер в Windows 10 и 11.
В нашем примере при попытке установить драйвер видеокарты без цифровой подписи с помощью команды
pnputil.exe /add-driver c:\drivers\*.inf /subdirs /install
или из проводника Windows, появляются ошибки вида:
Error 0xE000022F: The third-party INF does not contain digital signature information.
Error 0x800B010C: A certificate was explicitly revoked by its issuer.
Режим загрузки Windows без проверки подписи драйвера
Один из отладочных режимов загрузки Windows позволяет загружать операционную систему, игнорируя проверку подписи драйверов. Чтобы загрузить Windows в таком режиме, зажмите кнопку
Shift
и нажмите кнопку
Перезагрузка
в меню Пуск.
Windows запустится в среде восстановлений Windows RE, где нужно выбрать Troubleshoot -> Advanced Options -> Startup Settings -> Restart.
Компьютер перезагрузится еще раз и перд вами появится список режимов загрузки Windows. Нажмите клавишу
F7
(или
Fn+F7
на ноутбуках), чтобы загрузить Windows с включенной опцией Disable driver signature enforcement.
Windows загрузится с отключенной проверки цифровой подписи драйвера. При установке неподписанного драйвера появится предупреждение системы безопасности Windows:
Windows can't verify the publisher of this driver software The driver software you're attempting to install does not have a valid digital signature that verifies who published it, and could potentially be malicious software. You should only install driver software from publishers you trust. How can I decide which device software is safe to install?
Чтобы подтвердить установку драйвера, выберите Install this driver software anyway (
Все равно установить этот драйвер
).
Драйвер будет установлен, но в диспетчере устройств устройство с неподписанным драйвером может отображаться с восклицательным знаком и кодом ошибки 52:
Windows cannot verify the digital signature for the drivers required for this device. A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source. (Code 52)
С помощью встроенной утилиты sigverif.exe (File signature verification) можно вывести драйвера, для которых отсутствует цифровая подпись. Запустите утилиту, нажмите кнопку Start. Утилита просканирует хранилище драйверов Windows и выведет файлы драйверов без подписи.
Для работы устройства с неподписанным драйвером вам придется каждый раз загружать Windows с помощью клавиши
F7
, что неудобно.
Отключить режим проверки подписи драйверов из командной строки Windows
Чтобы при каждой загрузки компьютера не выбирать режим загрузки с отключенной проверкой подписи драйверов, можно изменить настройки загрузчика Windows с помощью утилиты bcdedit.exe.
Откройте командную строку с правами администратора и выполните последовательно следующие команды:
bcdedit.exe -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit.exe -set TESTSIGNING ON
bcdedit.exe -set NOINTEGRITYCHECKS ON
Shutdown -f -r -t 0
Теперь Windows будет всегда загружаться в тестовом режиме, в котором не выполняется проверка подписи драйверов. В этом случае в правом нижнем углу рабочего появится небольшая ватермарка с надписью Test Mode и названием версии и билда Windows.
bcdedit.exe -set loadoptions ENABLE_INTEGRITY_CHECKS
bcdedit.exe -set TESTSIGNING OFF
bcdedit.exe -set NOINTEGRITYCHECKS OFF
Разрешить установку неподписанных драйверов через групповую политику
В редакторе локальной групповой политики Windows (gpedit.msc) есть отдельная опция, позволяющая игнорировать отсутствует подписи при установке драйвера. Этот параметр GPO работает только в Windows 7 и 8, но не применим к Windows 10 или 11.
Откройте консоль редактора локальной GPO и перейдите в раздел User Configuration->Administrative Templates-> System->Driver Installation (Конфигурация пользователя -> Административные шаблоны -> Система -> Установка драйвера).
Откройте настройки параметра Code Signing for Device Drivers (Цифровая подпись драйверов устройств). Включите параметр GPO и в настройках выберите Ignore (Пропустить).
Перезагрузите компьютер и попробуйте установить неподписанный драйвер.