Windows 11でドライバー署名の強制を永続的に無効にする方法

非常に古いドライバーや署名のないハードウェアを扱う場合、Windows は面倒なことがあります。通常、それらをインストールすることを拒否するか、Error 0xE000022Fまたは のような不可解なエラーを表示しますError 0x800B010C。基本的に、これは Windows から「いいえ、このドライバーは信頼できません」と言っているようなものです。ドライバーが非推奨、取り消されている、または適切に署名されていないことが原因である場合もあります。そのため、コマンド ラインまたはデバイス マネージャーからレガシー ドライバーを実行しようとしてこの壁にぶつかったことがある場合は、各マシンで機能した方法を以下に示します。もちろん、Windows は、セキュア ブートや UEFI などのセキュリティ上の理由で、特に最近のバージョンではこれを意図的にトリッキーにしています。少し面倒ですが、リスクを冒すほど切羽詰まっている場合は、正当な回避策があります。

Windows 11 / 10でドライバー署名チェックを修正する方法

詳細ブートモードでドライバー署名の強制を無効にする

この方法は少し古いですが、効果的です。基本的には、Windows に起動時にそのセッションだけドライバの署名を無視するように指示するだけです。環境によっては、設定やコマンドをいじることなく、署名のないドライバをインストールする最も簡単な方法です。

  • スタートメニューから「再起動」を押したままShiftクリックします。Windows RE回復環境が起動します。
  • 「トラブルシューティング」「詳細オプション」「スタートアップ設定」の順に進み、「再起動」をクリックします。
  • PCを再起動すると、オプションの一覧が表示されます。F7キー(一部のノートパソコンではFn+F7)を押して、 「ドライバー署名の強制を無効にする」を選択してください。

これにより、少なくとも次回の再起動までは署名の強制が無効になります。 少し奇妙ですが、このモードでは、Windows が問題を起こすことなく、署名されていないドライバーをインストールできます。 注意: この後、署名されていないドライバーをインストールしようとすると、「Windows は発行元を確認できません」などの警告が表示されますので、[とにかくこのドライバー ソフトウェアをインストールします] をクリックしてください。 通常、このモードでインストールされたドライバーは、デバイス マネージャーに感嘆符とエラー コード 52 が表示されるなど、警告やエラーが発生する可能性があります。 一部のセットアップでは、署名がないため、Windows が互換性がないとフラグを立てることもあります。 署名されていないドライバーを確認するには、sigverif.exeコマンド プロンプトから実行します。コマンド プロンプトは、ドライバー ストアをスキャンして署名されていないファイルを探します。 もちろん、構成を微調整しない限り、毎回このモードで再起動する必要がありますが、これは面倒で、セキュア ブートには限界があります。

セキュアブートが有効になっているUEFIシステムでは、セキュアブートを無効にするかテスト署名モードを有効にしない限り、この回避策は機能しません。当然ながら、Windowsは必要以上に困難にする必要があるためです。

CMDでドライバー署名チェックを永続的に無効にする

Windows 内で作業を続けたい場合や、再起動のたびにこの作業を行いたくない場合は、コマンドラインからbcdedit.exeを使って設定できます。これにより、ブートローダーが調整され、起動時の署名チェックがスキップされます。署名のないドライバーを定期的にインストールする必要がある場合は、理想的とは言えませんが実用的な解決策です。

  • 管理者特権の コマンド プロンプトを開きます (cmd を検索し、右クリックして、管理者として実行します)。
  • 次のコマンドを 1 つずつ実行します。
bcdedit.exe -set loadoptions DISABLE_INTEGRITY_CHECKS bcdedit.exe -set TESTSIGNING ON bcdedit.exe -set NOINTEGRITYCHECKS ON 

次に、 でPCを再起動しますshutdown -f -r -t 0。再起動後は常にテストモードで起動し、デスクトップに「テストモード」の透かしが表示されます。これはWindowsが署名チェックを無視していることを意味するので、ご安心ください。

通常の状態に戻したいですか?管理者コマンドプロンプトで次のコマンドを実行してください。

bcdedit.exe -set loadoptions ENABLE_INTEGRITY_CHECKS bcdedit.exe -set TESTSIGNING OFF bcdedit.exe -set NOINTEGRITYCHECKS OFF 

その後、再起動すると、Windowsはドライバー署名の適用を再開します。正直に言うと、一部の設定では、特に新しいPCでは、セキュアブートの警告が表示されたり、特定のドライバーが読み込まれなかったりする可能性があります。

グループ ポリシー エディターを使用する (制限あり – 通常、古い Windows の場合)

この方法は、最近は当たり外れが激しいです。主に Windows 7 または 8 を使っている場合は、試してみる価値はあります。

  • gpedit.mscを開きます(Win + R を押して入力し、Enter キーを押します)。
  • [コンピューターの構成][管理用テンプレート][システム][ドライバーのインストール]に移動します。
  • 「デバイス ドライバーのコード署名」という設定を見つけて、 「無視」に設定します。

これは、Windowsにドライバーのインストール中に署名の問題を無視するように指示しますが、この設定はWindows 10/11ではデフォルトでサポートされていないことに注意してください。それでも、試してみたい場合は、昔ながらのオプションです。

まとめ

このプロセス全体はやや不確実で、セキュリティが低下するため日常的な使用には推奨されません。しかし、古いドライバーや最新のセキュリティと互換性のないハードウェアを使っている場合は、これらのハックで少なくとも何とかなるかもしれません。ただし、テスト署名を有効にしたり整合性チェックを無効にしたりすると、潜在的なリスクが生じる可能性があるので、機密情報が入っているラップトップや重要なワークロードを実行しているシステムでは、この操作は避けてください。とはいえ、いくつかのマシンではうまく動作したので、あなたにも役立つかもしれません。

まとめ

  • スタートアップオプションでF7キーを押すと、ドライバー署名の強制が一時的に無効になります。
  • Windowsを永続的にテストモードで起動するように設定するbcdedit
  • Windows 7/8をお使いの場合は、古いGPOの調整を試してください。
  • セキュアブートとUEFIがこれを完全にブロックする可能性があることに注意してください

これが役に立つことを祈る