web-dev-qa-db-ja.com

署名されていないドライバーを無視できるようにするWindows7ブートオプション

私はWindowsカーネルモードのドライバー開発を学んでいます。 VirtualBoxのVM)で実行されているWindows 732ビットUltimaエディションで正常に登録、登録解除、ロード、およびアンロードできる小さなテストドライバーを作成しました。

私のホストはWindows764ビットHomePremiumエディションです。

64ビット用にコンパイルされたドライバーは、Windows 7Homeエディションでは読み込まれません。このバージョンのWindowsでは署名されていないドライバーが許可されていないことに気づき、拒否され続けています。

私は2つのことを試しました:

  1. F8ブートオプションを使用して、署名されていないドライバーを許可しました(機能しませんでした)

  2. 管理者としてCMDを実行し、次の2つのコマンドを実行します

    bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS

    bcdedit.exe -set TESTSIGNING ON

そして再起動しました。デスクトップに「TestMode」と表示されますが、それでも同じ拒否が通知されます。

誰かがここで私を助けたり、ホームエディションの追加のステップがあるかどうかを説明できますか?

---- {更新} ----大量のMSDNのものを注いだ後、私の解決策は、作成したドライバーに自己署名することにあるように見えます。ダウンロードしたDDKには、自己署名を行うためのツールチェーンがないようです。 WinDDK-7600.16385.1をダウンロードしました。しかし、非常に奇妙なのは、ブート時にF8 @だけで、署名されていないドライバーを許可するように指示すると、Windows UltimaEditionがドライバーを正常にロードすることです。

14
Eric

試してみてください Driver Signature Enforcement Overrider64ビットバージョンのWindows 7でサポートされており、 「ホームプレミアム」エディションで実際に機能することを確認しました。

Driver Signature Enforcement Overrider screenshot

  1. 以下のリンクからアプリケーションをダウンロードしてください。それを右クリックし、「管理者として実行」を選択します。メインメニュー内で、「テストモードを有効にする」ボタンを押して、画面の指示に従います。これにより、TESTSIGNINGモードが有効になり、未確認のシステムファイルをロードできるようになります。

  2. これで、必要なシステムファイルに未確認の署名を追加するだけです。これを行うには、メインメニューから[システムファイルに署名]ボタンを押し、フルパスを含む特定のファイル名を入力します。例:C:\ Windows\System32\driversのATITool64.sysがドライバー署名の適用のためにロードを拒否する場合は、「C:\ Windows\System32\drivers\ATITool64.sys」と入力する必要があります。複数のファイルに署名し、完了するまでこの手順を繰り返して、最後に再起動します。

テストモードを有効にして必要なシステムファイルに署名を追加すると、Windowsのドライバー署名の適用をバイパスし、問題なく読み込まれるはずです。ただし、何らかの理由で元に戻したい場合は、アプリケーションを再起動し、メインメニューから[テストモードを無効にする]を選択して、再起動することができます。問題が発生したり、質問がある場合は、フォーラムに投稿してください。

注:DSEOには管理者権限が必要です(管理者として実行)。

デスクトップから透かしを削除することもできます!

6
Cody Gray

そのツールを使用する必要はありません。 DDKのsigntoolを使用して、独自の個人証明書を使用してドライバーにテスト署名するだけです。

4
Nick