Windows Defender Firewallの0x8007045bエラーを完全解決

Windows Serverを運用していると、バージョンアップや更新時に思わぬ不具合が発生することがあります。特にWindows Defender Firewallが突然起動できなくなる問題は、セキュリティ面でも深刻です。本記事では0x8007045bエラー解決のための手順を解説します。

Windows Defender Firewallが起動しない問題の背景

Windows Server 2019からWindows Server 2022へインプレースアップグレードを行った後、Windows Defender Firewallが起動と停止を繰り返すというトラブルが報告されています。さらに、netsh advfirewall resetコマンドを実行すると「An unrecoverable Windows Defender Firewall error (0x8007045b) occurred」というエラーが表示されることもあります。

このようなトラブルは、ファイアウォールサービスのレジストリ情報やファイル整合性が損なわれている場合によく起こります。通常であればSFC (sfc /scannow) やDISM (Dism.exe /online /cleanup-image /scanhealth/restorehealth) で修復できるケースも多いのですが、これらの手法で改善が見られない場合には、より踏み込んだ対処が必要となります。

よくある原因とチェックポイント

同様の現象が起きる背景には、いくつかの典型的な原因が存在します。以下の表にまとめました。

原因具体的な症状確認ポイント
レジストリ情報の破損ファイアウォールサービスが正しく参照できず、起動と停止を繰り返すHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess などのキー権限
サードパーティ製ファイアウォールアプリの競合Windows Defender Firewallが上書きされ、サービスが正常に作動しない他のファイアウォールやウイルス対策ソフトの存在を確認
サービス構成ファイルの不整合SFC/DISMでも修復されず、サービスの起動コマンドでエラーが出るサービス構成を「sc」コマンドなどで確認し、Access Deniedが出ていないかチェック
CrowdStrike Falconなどのセキュリティツールの影響アンインストールしても残存ファイルやレジストリが影響を与える可能性あり関連ファイルやドライバの削除が完全かどうか調査

権限にまつわる問題

特に「アクセス拒否(Access Denied)」エラーが頻繁に発生する場合は、レジストリやサービスへの権限が正しく設定されていない可能性があります。Windows Firewall (mpssvc) サービスのレジストリキーや、SharedAccessキーのアクセス許可を確認することが重要です。
しかし、権限を適正に設定し直しても解決しないケースもあるため、そこで躓いた場合はさらに深い修復作業が必要になります。

基本的な対処法:OS標準コマンドによる修復手順

まずはWindowsが標準で用意している診断・修復方法を順番に試しましょう。初歩的な手順ですが、意外とここで解決することも少なくありません。

SFC(システムファイルチェッカー)の実行

システムのコアファイルが破損している場合、SFCによって修復できる可能性があります。

sfc /scannow
  • 実行方法
  1. 管理者権限でコマンドプロンプトまたはPowerShellを起動
  2. 上記コマンドを入力してエンター
  3. 修復が行われる場合は完了後に再起動
  • 注意点
  • 完了後に「問題が見つかりませんでした」「一部修復できませんでした」などのメッセージが表示されることがある
  • 修復できなかった場合には次のDISMへ進む

DISM(展開イメージの管理と保守コマンド)の実行

SFCで修復しきれないイメージの破損がある場合、DISMでWindowsのコンポーネントストアを修復できます。

Dism.exe /online /cleanup-image /scanhealth
Dism.exe /online /cleanup-image /restorehealth
  • 手順
  1. 上記コマンドを順番に実行して、システムイメージをチェック&修復
  2. 完了したら再起動
  3. 再度ファイアウォールサービスが起動するか確認
  • ポイント
  • /restorehealthまで完了してもエラーが解消しない場合、システム以外の要因を疑う
  • ネットワーク環境に問題がありイメージの修復に失敗するケースもあるので、安定したインターネット接続を確保する

Windows Defender Firewallサービスの再登録

サービス構成が壊れている場合は、一度ファイアウォールサービスを再登録する手段もあります。ただし、レジストリ編集が伴うケースもあるため慎重に行う必要があります。

sc config mpssvc start= auto
net start mpssvc
  • 期待される動作
  • サービスのスタートアップの型が「自動」になり、手動で起動した際にエラーが発生しないか確認
  • もしAccess Deniedなどが出る場合は権限の問題を疑う

サードパーティ製ソフトやセキュリティツールの影響を除去する

CrowdStrike Falconや他のサードパーティ製ファイアウォール・アンチウイルスソフトが競合要因になることがあります。これらはアンインストールしたとしても、一部のドライバやレジストリ情報が残っている場合があります。

アンインストール手順の確認

ソフトウェアによっては、通常のアンインストールでは不完全な削除しか行われない場合があります。製品提供元の公式アンインストーラやクリーナーツールを利用し、レジストリやドライバ、サービスが残っていないか念入りにチェックしてください。

  • 例:CrowdStrike Falcon
  • 通常の「アプリと機能」からの削除後に、専用のクリーンアップツールが提供されているケースがある
  • 特定フォルダ(C:\Program Files\CrowdStrikeなど)の削除とレジストリキー削除を併行して行う

システムログの確認

アンインストール後もWindowsのイベントビューアにエラーや警告が残っていないかどうか、再確認しましょう。もしサードパーティ製ツールに関連するエラーが引き続き記録されている場合は、まだ完全に削除できていない可能性が高いです。

レジストリと権限設定の再確認

サービスの起動エラーが続く場合、権限設定を再度見直すことが必要です。特に「SharedAccess」や「mpssvc」関連のレジストリキーが正常であるかどうかが重要ポイントとなります。

レジストリエディタでの権限確認

  1. regeditを起動し、以下のキーを探します。
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MpsSvc
  1. キーを右クリックして「アクセス許可」を選択
  2. SYSTEMやAdministratorsなど、必要なアカウントに対して「フルコントロール」が付与されているか確認

もし権限が不足している場合は手動で付与しますが、サーバー環境によってはグループポリシーやセキュリティポリシーが制限をかけている可能性があります。変更時には事前にポリシーの設定をチェックしておきましょう。

権限変更時の注意点

  • レジストリのバックアップを必ず作成してから編集を行う
  • 不適切な権限付与はセキュリティリスクを高める
  • 変更後はサーバーを再起動し、動作確認を行う

第三者提供の修復ツールによる回復方法

「SFCやDISMで直らない」「サービス権限を修正しても解決しない」場合には、外部のシステム修復ツールを活用するのも一つの方法です。例えば「Windows Repair (All in One)」のような包括的な修復ツールを使うことで、Windows Defender Firewallに関する問題が解決した事例も報告されています。

Windows Repair (All in One)の特徴

  • 多岐にわたる修復機能
    Windowsのサービス、ファイル権限、レジストリ、WSUS(Windows Update)など幅広い項目をまとめて修復可能です。
  • GUI操作で簡単
    専門的なコマンドを一つひとつ実行しなくても、メニューから修復項目を選択するだけで操作できます。

実行手順の一例

  1. 公式サイトからツールをダウンロード
    「Windows Repair (All in One)」の開発元(Tweaking.com)など信頼できるサイトから最新バージョンを取得します。
  2. 安全モードで起動
    Windowsが通常起動していると、修復対象のファイルをロックしてしまう場合があるため、安全モードでの実行が推奨されます。
  3. 修復項目の選択
    Windows Defender Firewallやネットワーク修復に関わる項目にチェックを入れます。
  4. 修復開始
    自動的に各種レジストリ修正やサービス再登録が行われ、完了後に再起動を促されます。
  5. 動作確認
    再起動後、イベントビューアでエラーの有無を確認し、Windows Defender Firewallが正常に起動しているかチェックします。

実際の修復事例:トラブルシューティングの流れ

ここでは、実際に「Windows Defender Firewallが起動できない」「0x8007045bエラーで止まる」といった状況から復旧した流れの一例を示します。

  1. ログの確認 イベントビューアでWindows Defender Firewall関連のエラー(Event IDやエラーコード)を調査。0x8007045bが頻発。
  2. OS標準ツールの実行 SFCおよびDISMを順番に実施。しかし修復不可の報告メッセージが表示された。
  3. サードパーティ製の競合要因排除 既にCrowdStrike Falconなどはアンインストール済み。残留フォルダやドライバも削除を確認。
  4. 権限見直し SharedAccessやMpsSvcのレジストリキーのアクセス許可を確認。一部権限を修正後も、依然としてFirewallサービスの起動コマンドで「Access Denied」が発生。
  5. 第三者ツールの利用 「Windows Repair (All in One)」をセーフモードで実行。Firewallサービスやネットワーク関連の修復項目にチェックを入れて修復を開始。
  6. 問題解消 再起動後にFirewallサービスが正常起動可能となり、RDPやその他のネットワーク機能も問題なく動作。

修復後のベストプラクティス

  • ログの継続監視
    イベントビューアなどでしばらくの間はFirewall関連のエラーが再発しないか確認。
  • Windows Updateの定期適用
    アップデートを怠ると、再び不整合が起きるリスクが高まる。
  • 不要サービス・アプリの排除
    サーバーで必要ないサービスやアプリケーションは極力インストールしない。アップグレード前後に競合が生じる原因となるため。

まとめ:0x8007045bエラー解消への最終手段

Windows Defender Firewallが0x8007045bエラーを起こし、サービスが起動と停止を繰り返すケースは、単純なファイル破損や一般的なアンインストール作業では解決しないことがあります。SFCやDISMといった標準機能だけでなく、レジストリ権限の調整やサードパーティ製修復ツールを利用するなど、複合的な対策が必要です。

特に「アクセス拒否」関連のエラーが連発する場合は、レジストリやサービス構成の破損が深刻化しているサインかもしれません。そこで「Windows Repair (All in One)」のような総合修復ツールを使うと、一括してレジストリやサービスの権限を修正し、根本的な問題を解消できる可能性が高まります。

セキュリティ対策はサーバー運用において最優先事項です。Windows Defender Firewallが不安定な状態での運用は、外部からの攻撃や不正アクセスのリスクを高めます。もしインプレースアップグレード後にファイアウォール関連のエラーが発生したら、本記事で紹介したチェックリストと修復方法を参考にして、早期復旧を目指してください。

コメント

コメントする