Windows11起動時のSecurityHealthSSO.dllエラーを完全解決!Bad Image 0xC000012Fの原因と対処法まとめ
Windows11起動時のSecurityHealthSSO.dllエラーを完全解決!Bad Image 0xC000012Fの原因と対処法まとめ 2025 6/21 Windows11Windows 11 を起動するたびに「SecurityHealthSSO.dll は Windows で実行するよう設計されていないか、エラーが含まれています(0xC000012F)」というダイアログが出続けると、毎回クリックで閉じるだけでもストレスになり、セキュリティ関連 DLL の破損という文字列は不安をあおります。本記事ではエラーの原因を徹底解説し、管理者権限コマンドによる安全な修復手順と大量展開向けの代替策、さらに再発防止のポイントまでを網羅的にまとめました。再インストールや初期化に踏み切る前に、本稿の手順をお試しください。
目次症状:起動直後に表示される“Bad Image”エラー
代表的なエラーメッセージ全文 C:\Windows\System32\SecurityHealth\<バージョン>\SecurityHealthSSO.dll は Windows で実行するよう設計されていないか、エラーが含まれています。 エラー ステータス 0xC000012F0xC000012F はBad Imageと呼ばれ、DLL の署名破損や内部欠損、想定外のビルドを示します。Windows セキュリティの SSO(Single Sign‑On)を担当する DLL が読めないため、エンジンが起動時に自己診断で失敗→ダイアログを出す流れです。
原因:SecurityHealthSSO.dll が壊れるパターン
- Windows Update 実行中の強制終了・電源断
- サードパーティ製クリーナー/過敏な AV による誤検出隔離
- 同名 DLL を上書きコピーする旧式チューニングツール
- SSD/メモリエラーなどハードウェア起因の断片化 / CRC 破損
DLL はC:\Windows\System32\SecurityHealth\<バージョンフォルダー>ごと丸ごと更新されるため、フォルダー名と DLL のビルド番号が一致しない組み合わせでも同エラーが起こります。
修復前チェックリスト
チェック項目確認方法OK/NG 判定エラーに表示されたフォルダー番号を控えたかBad Image ダイアログ内の「…SecurityHealth\10.0.27777.1008‑0\」をメモOK => 次へ / NG => 再起動して再確認最新の正常 DLL を入手済みかMicrosoft Update Catalog 等から該当ビルドの CAB/ZIP を取得OK => C:\Temp に DLL 置き済み / NG => ダウンロード管理者権限コマンドプロンプトが開けるか「スタート」右クリック→「ターミナル(管理者)」OK => 修復へ / NG => 管理者アカウントで再ログイン推奨修復手順(コピペ用スクリプト付き)
- メモしたバージョン番号でフォルダーを移動 cd /d C:\Windows\System32\SecurityHealth\10.0.27777.1008-0
- 既存 DLL の所有権を取得 takeown /f SecurityHealthSSO.dll /a
- Administrators グループにフル制御を付与 icacls SecurityHealthSSO.dll /grant *S-1-5-32-544:(F)
- 正しい DLL へ確認なしで上書き copy /y C:\Temp\SecurityHealthSSO.dll
- PC を再起動し、ダイアログが出ないことを確認
- 作業用 C:\Temp を削除して完了
手順でつまずきやすいポイントと解決策
症状 / エラー主な原因対処法The system cannot find the file specified.DLL のパス・ファイル名が誤り拡張子を含め完全一致を確認し、C:\Temp に DLL があるか再確認上書き時にアクセス拒否所有権・アクセス権の不足takeown → icacls の順で実行成功後に copy を再試行ZIP から DLL だけ取り出せないエクスプローラの「圧縮フォルダー」を直開きZIP を右クリック→「すべて展開」で C:\Temp へ解凍後に操作Edge/Chrome がダウンロードをブロックDLL を PUA 判定ダウンロードバー「…」→「保持を続行」を選択代替策:大量 PC 向け一括修復
企業・学校など複数端末で同症状が出た場合、Microsoft 公式のSecurityHealthSetupx64.exe(または x86)を配布し、サイレントスイッチ/quiet付きで実行すると GUI 表示なく DLL 群全体が更新されます。Intune / SCCM / PDQ Deploy などで配信すれば、人手を掛けずに再起動後のエラー消滅を確認できます。
PowerShell サンプル $pkg = "SecurityHealthSetup_x64.exe" Start-Process -FilePath ".\$pkg" -ArgumentList "/quiet" -Wait -NoNewWindow Restart-Computer -Force追加トラブルシューティング
Windows セキュリティが開かない・固まるDLL 破損だけでなく、サービス依存関係やレジストリ下の WMI Provider破損でも同じ現象が発生します。以下を順に確認してください。
- サービス SecurityHealthService が 自動で開始しているか
- イベントビューアー → Applications and Services Logs > Microsoft > Windows > Security-Health-SSP に 100 系 Error がないか
- FRST でレポートを取得し、専門コミュニティで診断を受ける
Insider Preview や企業向け長期サービスチャネル(LTSC)では、ビルド番号が一般流通版とズレることがあります。必ずエラーダイアログ内のフォルダー番号を優先し、それと同じビルドの DLL をダウンロードしてください。
再発防止:運用ベストプラクティス
- Windows Update の<アクティブ時間外再起動>を有効にし、パッチ適用中の電源断リスクを減らす
- レジストリ・システム DLL を自動書き換えする旧式メンテナンスツールをアンインストール
- Defender の改ざん防止(Tamper Protection)は無効化しない
- 定期的に sfc /scannow と Dism /Online /Cleanup-Image /RestoreHealth を実行し、OS イメージ健全性を保つ
- SSD の S.M.A.R.T. 監視 / メモリテストを四半期に一度行い、物理障害を早期検知
FAQ:よくある質問
DLL を別 PC からコピーしてもよい?
ビルド番号が完全一致する PC からのコピーは理論上可能ですが、署名ブロックの差異で 0xC0000428 (署名無効) を誘発することがあります。Update Catalog からの入手を推奨します。コマンド操作が不安。GUI でできない?
ファイルの所有権とアクセス権はエクスプローラのプロパティ → セキュリティ タブ → 詳細設定 からも変更可能ですが、十数回のクリックが必要なうえ権限伝播ミスが起こりやすいため、コマンド利用が安全かつ確実です。System32 内を触るのは怖い。万一失敗したら?
takeown/icacls はレジストリを変更しない単発操作であり、仮にコピー失敗しても再起動前に元 DLL をリネーム復元すれば元通りになります。心配なら最初に copy SecurityHealthSSO.dll SecurityHealthSSO.bak でバックアップを残しましょう。
まとめ
SecurityHealthSSO.dll Bad Image エラーは1) 正しい DLL を取得し、2) 正しいフォルダーに移動して、3) 所有権を奪取→フル制御→上書きという三段階でほぼ確実に解決します。多くの失敗は「バージョン番号の不一致」か「権限取得漏れ」が原因です。この記事のチェックリストとコマンドを活用し、再発防止策として Tamper Protection 維持と定期 SFC/DISM を習慣化しましょう。
Windows11 Windows11 起動エラー 0xC000012F SecurityHealthSSO.dll BadImage- Surface Pro 11 でマウスポインターが真っ黒に!HDR 設定で直す方法と再発防止策まとめ
- Windows 11アップデート後にスピーカー×で音が出ない時の完全解決ガイド