Параметр загрузки Windows7, позволяющий игнорировать неподписанные драйверы

Я изучаю разработку драйверов режима ядра Windows. Я написал небольшой тестовый драйвер, который я могу успешно зарегистрировать, отменить регистрацию, загрузить и выгрузить под 32-битной версией Windows 7 Ultima, работающей под виртуальной машиной в VirtualBox.

Мой хост - 64-битная версия Windows 7 Home Premium.

Драйвер, скомпилированный для 64-битной версии, не загружается под Windows 7 Home edition. Мне постоянно отказывают в том, что эта версия Windows не поддерживает неподписанные драйверы.

Я пробовал две вещи:

  1. Я использовал параметр загрузки F8, чтобы разрешить неподписанные драйверы (не сработало)

  2. Я запускаю CMD от имени администратора и выполняю следующие две команды

    bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS

    bcdedit.exe -set ИСПЫТАНИЕ НА

и перезагрузился. Мой рабочий стол показывает меня в "TestMode", но я все равно получаю такое же отклонение.

Может ли кто-нибудь помочь мне здесь или объяснить, есть ли дополнительный шаг для домашней версии?

---- {update} ---- После просмотра множества материалов MSDN, похоже, что мое решение заключается в самоподписании созданного мной драйвера. В загруженном мной DDK, похоже, нет цепочки инструментов для самоподписывания. Скачал WinDDK-7600.16385.1. Но что так странно, так это то, что моя Windows Ultima Edition с радостью загружает мой драйвер, если я просто нажимаю F8 @ boot time и говорю, чтобы разрешить неподписанные драйверы.


person Eric    schedule 08.02.2011    source источник
comment
ОТ: ‹вставьте здесь ехидное замечание о том, что происходит, когда вы передаете свободу программного обеспечения третьей стороне›   -  person Nathan Kidd    schedule 08.02.2011
comment
Поверьте, Натан, в офисе, где я работаю, меня называют фанатиком Linux (не зря), этот пост и мое разочарование продуктами Microsoft только помогают мне. Таким образом, в настоящее время я изучаю разработку драйвера режима ядра Windows для проекта, которому требуется поддержка ОС Windows в виде драйвера ядра. У нас есть специальное аппаратное устройство, с которым мы обмениваемся данными через USB, и нам нужно слишком непрерывно отправлять данные через определенные промежутки времени. Использование таймера Windows и очередей таймера недостаточно для наших нужд. Любые побочные мысли по этому поводу приветствуются!   -  person Eric    schedule 08.02.2011
comment
stackoverflow.com/questions/84847/   -  person BlueRaja - Danny Pflughoeft    schedule 18.06.2016


Ответы (2)


Вы можете попробовать Overrider принудительного использования подписи драйверов. Это поддерживается в 64-битных версиях Windows 7, и отчеты, которые я видел, подтверждают, что он действительно работает в версии «Home Premium».

Снимок экрана для отмены принудительного выполнения подписи драйвера

  1. Скачайте приложение по ссылке ниже. Щелкните его правой кнопкой мыши и выберите «Запуск от имени администратора». В главном меню нажмите кнопку «Включить тестовый режим» и следуйте инструкциям на экране. Это включит режим TESTSIGNING, который позволяет загружать непроверенные системные файлы.

  2. Теперь все, что вам нужно сделать, это добавить непроверенную подпись в необходимые системные файлы. Для этого нажмите кнопку «Подписать системный файл» в главном меню и введите конкретное имя файла, включая полный путь. Например: если ATITool64.sys из C: \ Windows \ System32 \ drivers отказывается загружаться из-за принудительной подписи драйверов, вы должны ввести: «C: \ Windows \ System32 \ drivers \ ATITool64.sys», и если вы хотите подпишите более одного файла, просто повторяйте эту процедуру, пока не закончите, и, наконец, перезагрузитесь.

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

Примечание. DSEO требует прав администратора (запуск от имени администратора).

Он даже позволяет удалить водяной знак с рабочего стола!

person Cody Gray    schedule 08.02.2011
comment
я знаю, я наткнулся на эту утилиту, но я ей не доверял, потому что на веб-сайте, на котором я ее видел, были следы от ушей сайта, загруженного вирусами и т.д. Я ничего не могу найти в MSDN. Я также повторил шаги в моем сообщении с выключенным тестированием и все еще не работал ... Я хотел бы найти правильный способ сделать это раньше, а также понять, почему Home Edition, по-видимому, заблокирован. - person Eric; 08.02.2011
comment
@Eric: Да, вы не найдете его на MSDN. Официально это не поддерживается в домашних версиях. Мне этот веб-сайт не кажется слишком схематичным, и эта утилита хорошо поддерживается / проверяется в Интернете. Я не уверен, что смогу дать вам ответ почему домашние версии заблокированы, но я полагаю, что это потому, что они могут быть заблокированы. Типичный домашний пользователь не занимается разработкой драйверов и, следовательно, не нуждается в этой функции. Допустить это - возможная дыра в безопасности, и люди годами заявляют, что безопасность Windows - отстой. Никто никогда не был счастлив. - person Cody Gray; 08.02.2011
comment
когда вы говорите, что официально не поддерживается, можете ли вы предоставить ссылку на сайте Microsoft по этому поводу? Я склонен верить вам и принять это как ответ, но ищу более официальные слова. Что касается домашней версии, используемой для разработки, ноутбук был приобретен с этой версией Windows, предварительно загруженной по закрытой цене, поэтому обновление до PRO влечет за собой добавление M $ больше $$, что кажется немного смешным для всего остального, для чего я использую этот компьютер ( что не нужно PRO). Вопрос в том, нужен ли мне PRO для разработки драйверов, верно? - person Eric; 08.02.2011
comment
@Eric: Не знаю, где найти эту ссылку. Я уверен, что вы можете поискать повсюду и найти что-нибудь в этом роде, но об отключении подписи драйверов в Microsoft не особо много говорят в любом случае. Найти более конкретные детали - все равно что найти иголку в стоге сена. Думаю, лучшее, что вы можете сделать, - это что-то сказать один из MVP на своих форумах по этому поводу. Я готов поспорить, что неподписанные установки драйверов тоже не поддерживаются, но я знаю, что они находятся в домашних версиях. Я просто не в деле доказывать вещи; Меня больше интересует заставить их работать. Может быть, придет еще кто-нибудь, кто сможет. - person Cody Gray; 09.02.2011
comment
на самом деле это единственное решение, которое у меня работает (win7 x64) - person Sérgio S. Filho; 13.08.2016

Вам не нужно использовать этот инструмент. Просто проверьте подпись драйвера своим личным сертификатом с помощью signtool в DDK.

person Nick    schedule 17.09.2011
comment
makecert + signtool + экспортировать сертификат в формат .PFX и добавить сертификат в Windows. - person gavenkoa; 23.12.2011
comment
Статья Technet о подписании пакета драйверов . Вам понадобятся как DDK, так и SDK, чтобы получить все инструменты. - person Michael Kohne; 08.08.2013