「システムがファームウェアの不正な変更を検出しました」エラーの原因と解決方法
パソコンの起動時や休止状態からの復帰時に、「System found unauthorized changes on the firmware(システムがファームウェアの不正な変更を検出しました)」というエラーに悩まされているユーザーが少なくありません。多くのケースでは、保留中だったWindowsアップデートを適用した直後からこの問題が発生し始めたと報告されており、特にWindows 7環境で多く見られます。

エラーが発生する主な原因
このエラーは、新しいセキュリティ機能の一環として、システムがハードウェア各部のファームウェアを検証する際に発生します。正確には、すべてのWindowsバージョンがこの新しいセキュリティ機能に対応しているわけではないため、エラーが表示されてしまうのです。
調査の結果、この問題につながるシナリオはいくつかあることが判明しました。考えられる主な原因は以下のとおりです。
- オプションのWindows Update(KB3133977) – BitLockerの脆弱性を修正するためにリリースされたセキュリティ更新プログラムですが、これがファームウェアの署名を変更してしまい、警告メッセージが表示されるという報告が多数あります。特にASUS製マザーボードで多く見られます。この場合、メッセージは無害であり、システムは通常どおり起動・動作できます。
- Secure Boot違反の発生 – ブートローダーが、Microsoftによって適切に署名されていないものに置き換えられている可能性があります。これは、最近アップデートを適用したWindows 7(およびそれ以前)のマシンで発生することが知られています。一部の更新プログラムは、Secure Boot非対応のはずのWindows 7に対しても、この機能を強制的に有効化してしまうようです。
Secure Bootとは?
Secure Bootは、PC業界の主要メーカーによって開発された比較的新しいセキュリティ規格です。OEM(相手先ブランド製造元)が信頼するソフトウェアのみを使用してデバイスを安全に起動できることを保証します。検証は起動のたびに行われ、PCの起動時にファームウェアが各ブートソフトウェアの署名をチェックします。
今回のエラーは、OSのバージョンがSecure Bootに対応する設計になっていないために発生します。ただし、一部のMicrosoftセキュリティ更新プログラムは、インストールされた時点でこのセキュリティ機能を自動的に有効化してしまう点に注意が必要です。
以下では、この問題を解決するための実績のあるトラブルシューティング方法を紹介します。順番に試していき、お使いの環境でエラーが解消される方法を見つけてください。
方法1:Secure Bootを無効にする
Windows 7を使用している場合、このエラーは最近のWindowsセキュリティ更新プログラムによって、お使いのWindowsバージョンが対応していないセキュリティ機能が有効化されたことが原因である可能性が非常に高いです。
このケースに該当する場合は、BIOSまたはUEFI設定からSecure Boot機能を無効にするだけで問題を解決できます。なお、BIOS/UEFI設定へのアクセス手順は、マザーボードのメーカーによって多少異なります。
PCの電源を入れた直後に、BIOS/UEFIキーを繰り返し押して設定画面に入ります。一般的にBIOSキーはFキー(F2、F4、F6、F8)またはDELキー(Dell製PCの場合)です。多くのマザーボードでは、起動時の画面にBIOSキーが表示されます。

BIOS/UEFI設定に入ったら、「Boot」タブ(または項目)を探し、「Secure Boot」という名前のオプションがあるか確認します。見つかったらその項目を開き、OS Typeを「Windows UEFI mode」から「Other OS」に変更します。これにより実質的にSecure Bootが無効になり、起動手順が従来の動作に戻ります。

Secure Bootオプションを「Other OS」に変更したら、BIOS/UEFIの変更を保存してPCを再起動します。次回の起動時にはPCは正常に立ち上がり、「System found unauthorized changes on the firmware」エラーは表示されなくなるはずです。
この方法が当てはまらない場合や、別の解決策をお探しの場合は、方法2に進んでください。
方法2:システムの復元ポイントを使用する
もう一つの解決策は、システムの復元ポイントを使用して、問題の原因となったアップデートがインストールされる前の状態にマシンを戻すことです。実際にこの方法でエラーなしに正常に起動できたという報告が複数あります。
ただし、問題のアップデートが再インストールされないよう、後述の手順をすべて実行しない限り、Windows Updateが再びアップデートを適用した時点で同じエラーが再発することに注意してください。
古いシステム復元ポイントを使用して問題を解決する手順は以下のとおりです。
- Windowsインストールメディアを挿入し、起動シーケンスの最初に表示されるプロンプトで任意のキーを押してメディアから起動します。

- 最初の画面が表示されたら「次へ」をクリックし、「コンピューターの修復」リンクをクリックします。

- しばらくすると、スタートアップ修復ユーティリティがOSに対して一連のスキャンを実行します。スタートアップ修復のプロンプトが表示されたら、「復元」ボタンをクリックします。

注意:スタートアップ修復のプロンプトが表示されず、直接「システム回復オプション」画面が表示された場合は、「システムの復元」をクリックしてください。

- システムの復元画面が表示されたら、次のプロンプトで「次へ」をクリックします。
- 「さらに復元ポイントを表示する」にチェックが入っていることを確認します。そのうえで、このエラーが発生する前の日付のシステム復元ポイントを選択し、「次へ」をクリックして次の画面に進みます。

- 「完了」をクリックすると、マシンを以前の状態に復元することの最終確認を求められます。「はい」をクリックして確定します。

- 処理が完了するまで待ちます。処理の終了時にPCが再起動され、以前の状態が適用されます。次回の起動時には、エラーなしでPCが起動します。
注意:現時点でエラーが表示されなくなっても、後述の手順でWindows Updateが問題のアップデートを再びインストールしないようにしない限り、すぐにエラーが再発します。 - アップデートのインストールを防ぐには、MicrosoftのShow or hide troubleshooter(更新プログラムの表示または非表示ツール)パッケージを使用します。Microsoftの公式サイトからダウンロードできます。
- ユーティリティをダウンロードしたら起動し、最初のプロンプトで「自動的に修復を適用する」のチェックを外したまま「次へ」をクリックします。

- 初期スキャンが完了したら、「更新プログラムの表示または非表示」画面から「更新プログラムを非表示にする」をクリックします。

- Microsoftのオプション更新プログラム(KB3133977)にチェックを入れ、「次へ」をクリックして非表示にします。その後、再度「次へ」をクリックすれば、以降の変更がない限りアップデートは非表示のままになります。
以上で作業は完了です。Windows Updateがオプションのセキュリティ更新プログラムを再びインストールして「System found unauthorized changes on the firmware」エラーが再発することを心配せずに、PCを使い続けることができます。
-
「Windowsが要求された変更を完了できませんでした」エラーの解決方法まとめ
Windowsに.NET Frameworkをインストールしようとした際、「Windowsが要求された変更を完了できませんでした」というエラーが表示されることがあります。エラーコードは0x80004005、0x800f0906、0x800f081f、0x80070422、0x800736B3、0x800f0805、0x800f0922など様々です。 多くの場合、このエラーは.NET Framework 3.5が必要なプログラムやアプリケーションを実行したときに発生します。「はい」をクリックして.NET Frameworkをインストールすると、数分後に「.NET Framework(2.0および
-
「システムがファームウェアOSまたはUEFIドライバーの不正な変更を検出しました」エラーの解決方法
Windows 10は最新のテクノロジードライバーやモジュールを採用しており、最新のハードウェアに対応しています。現在販売されているPCやノートパソコンの多くは、従来のBIOSに代わってUEFIブートを採用しています。Windows 7からWindows 10へ移行するユーザーの中には、ハードディスクのタイプ変換など、いくつかの問題に直面する方もいます。こうした問題への対応中に、うっかり設定を変更してしまい、「システムがファームウェアオペレーティングシステムまたはUEFIドライバーの不正な変更を検出しました(The System found unauthorized changes on th