Windows Server 2016 Essentialsへインプレースアップグレード後にWindows UpdateのDefender更新で固まる原因と対処(SFC/DISM・ログ解析)

Windows Server 2012 R2 Essentials から 2016 Essentials へインプレースアップグレード後、Windows Update で Windows Defender の更新(定義/エンジン/プラットフォーム)が検出されるタイミングでサーバーがハングしてしまう――この手のトラブルは「Defender を完全削除して入れ直す」より先に、OS 側(システムファイル/コンポーネントストア)の破損を修復し、ログで“固まる瞬間”の原因を切り分ける方が安全で早いことが多いです。

目次

症状の整理:起きていることを“更新経路”で分けて考える

まず重要なのは、Defender の更新には大きく分けて複数の経路がある点です。今回のケースは「Defender 本体(または Defender のコマンド)からの定義更新は通るが、Windows Update 経由で Defender 更新が来ると固まる」というのがポイントになります。

観測される状況意味する可能性優先すべき切り分け
Server 2012 R2 Essentials → 2016 Essentials へインプレースアップグレード後から不安定アップグレード由来のコンポーネントストア破損/更新基盤の不整合が疑わしいSFC/DISM で OS 側の整合性を回復
Defender 機能を削除すると安定Defender 更新処理(TrustedInstaller や更新適用)と衝突している可能性「削除しきり」よりも、更新適用時に壊れる箇所をログで特定
Defender 本体から定義更新はできるネットワーク到達性だけが原因ではない(WU 由来の処理で問題が出る)WU コンポーネント/CBS/セットアップログに焦点
Windows Update が Defender 更新を検出すると最終的にハング更新メタデータ、コンポーネントストア、WMI、ドライバ、I/O 逼迫など幅広い可能性ハング前後のイベントログ+CBS.log などの時系列確認

「Defender の痕跡を完全に消す」アプローチは、一見近道に見えます。しかしインプレースアップグレード直後の環境では、Defender そのものというよりも、Defender 更新を“適用する側”の OS 更新基盤(コンポーネントストアや更新サービス)が壊れているケースが多く、ここを直さない限り再発しがちです。

作業前の準備:サーバーが固まっても復旧できる状態で進める

今回のように「更新適用で固まる」事象は、作業中に再発しやすいです。復旧が遅れると業務影響が大きいので、事前準備を固めてから進めてください。

  • フルバックアップ(可能ならシステム状態も)を取得する
  • 仮想環境ならスナップショット、物理なら iLO/iDRAC 等のリモートコンソールを確保する
  • ローカル管理者でのログオン手段を用意(ドメイン依存を避ける)
  • 空き容量を確保(C: の空きが少ないと更新が破綻しやすい)
  • 再起動が必要な保留状態がないか確認(保留があると更新が絡みやすい)
チェック項目目安理由
C ドライブ空き容量最低でも 15〜20GB 程度(可能ならもっと)コンポーネントストア展開やログ出力で急激に消費される
保留中の再起動作業前に一度再起動してから着手中途半端な保留状態で DISM/WU を回すと泥沼化しやすい
メンテナンス時間余裕のある枠SFC/DISM は環境によって長時間化する
サードパーティAV/EDR入っていない/完全に削除済みを確認更新時のロックやサービス競合の原因になりやすい

最優先:OS の整合性チェックと修復(SFC / DISM)

相談内容の結論に近い部分ですが、Defender の“削除しきり”を狙う前に、まずは OS 側の破損を疑って修復するのが第一手です。インプレースアップグレードは便利な反面、コンポーネントストア(WinSxS)や更新適用の履歴が“引き継がれる”ため、壊れ方も引き継ぎやすいからです。

以下は、管理者権限のコマンドプロンプトで実行します。

SFC と DISM の実行手順

sfc /scannow
dism /online /cleanup-image /scanhealth
dism /online /cleanup-image /restorehealth
コマンド目的結果の見方注意点
sfc /scannowシステムファイルの破損検出/自動修復「破損ファイルを修復しました」なら再起動して次へ途中で止まって見えても待つ(ログは CBS.log に残る)
dism /online /cleanup-image /scanhealthコンポーネントストアの破損有無を検査修復可能かどうかの判断材料になる検査なので直らない。次の restorehealth が本番
dism /online /cleanup-image /restorehealthコンポーネントストア修復(更新基盤の土台を直す)完了後、再起動して Windows Update を再テスト更新元が必要。WU が壊れている場合は /source 指定が必要になることがある

DISM が「ソースが見つからない」等で失敗する場合

Windows Update 自体が壊れている、または修復に必要なファイルがローカルに無い場合、/restorehealth が失敗することがあります。その場合は、Server 2016 のインストールメディア(同一エディション・同一ビルドに近いもの)を用意し、ソースを明示して修復するのが定石です。

例として流れだけ書くと、次のようになります(実際のドライブ文字や index は環境で変わります)。

dism /get-wiminfo /wimfile:D:\sources\install.wim
dism /online /cleanup-image /restorehealth /source:wim:D:\sources\install.wim:1 /limitaccess
  • /limitaccess は Windows Update へ取りに行かない指定です(WSUS 運用や WU 破損時に有効な場合があります)。
  • install.wim の index は環境により異なるため、必ず /get-wiminfo で確認してください。

追加で効くことがある:コンポーネントクリーンアップ

修復後も更新適用が不安定な場合、コンポーネントストアのクリーンアップで改善することがあります(ただし時間がかかることがあります)。

dism /online /cleanup-image /startcomponentcleanup

固まるタイミングを“記録”する:イベントログと各種ログの確認

「ハングする」という現象は、ログが途切れやすく原因が見えづらいのが難点です。だからこそ、再起動後に“固まる直前までに何が起きていたか”を時系列で追います。Windows Update と Defender 更新は、裏側では TrustedInstaller、CBS(Component-Based Servicing)、WindowsUpdateClient など複数コンポーネントが連携します。どこで破綻しているかを絞り込むことが、再発防止にも直結します。

イベント ビューアーで見る場所

  • イベント ビューアー → Windows ログ
    • Application(アプリケーション)
    • System(システム)
    • Setup(セットアップ)

フィルターで絞るなら、例えば以下のソースやキーワードが手掛かりになります。

  • WindowsUpdateClient(更新の検出/ダウンロード/インストールの段階が残る)
  • Service Control Manager(サービスの停止/起動が失敗していないか)
  • Microsoft-Windows-Windows Defender(Defender 側のエラー)
  • Disk / storahci / iaStor / Ntfs など(I/O が詰まって“固まったように見える”ケースの確認)

追加で確認すべきログファイル

ログパス主に分かること見るポイント
CBS ログC:\Windows\Logs\CBS\CBS.logSFC/DISM/更新適用の内部処理エラーコード、パッケージ名、再試行、破損の痕跡
CBS 永続ログC:\Windows\Logs\CBS\CbsPersist_*.log過去の CBS ログ(ローテーション分)直近の CBS.log に残っていない履歴の補完
セットアップログ%WINDIR%\Panther\setupact.logセットアップ処理(アップグレード含む)の記録アップグレード後も残る不整合の痕跡がないか
セットアップエラーログ%WINDIR%\Panther\setuperr.logセットアップの明確なエラー致命的な失敗が記録されていないか
DISM ログC:\Windows\Logs\DISM\dism.logDISM 実行時の詳細restorehealth がどの段階で失敗するか

Windows Update のログ(WindowsUpdate.log)も用意する

Server 2016 世代では、従来の C:\Windows\WindowsUpdate.log が常に更新される方式ではありません。必要に応じて PowerShell で生成します(管理者で実行)。

Get-WindowsUpdateLog

生成された WindowsUpdate.log を、固まった直前・直後の時刻で追うと「どの更新を処理していたか」「どのコンポーネントで詰まったか」が見えやすくなります。

ここまでで改善しない場合:Windows Update 側の破損を疑い“更新コンポーネント”をリセットする

SFC/DISM で OS の土台を整えても、Windows Update の検出・適用が不自然に重い/特定の更新だけで固まる場合は、Windows Update のキャッシュや暗号化カタログの破損が絡んでいることがあります。特にインプレースアップグレード後は、古い更新データベースを引きずりやすいのが落とし穴です。

代表的なリセット手順は次のとおりです(管理者権限のコマンドプロンプト)。

net stop wuauserv
net stop bits
net stop cryptsvc
net stop msiserver

ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old

net start msiserver
net start cryptsvc
net start bits
net start wuauserv
項目役割リセットが効くケース注意点
SoftwareDistribution更新のダウンロードキャッシュ/履歴情報検出が異常に遅い、ダウンロードがループする、同じ更新が何度も出る更新履歴の表示は消えるが、適用済み更新そのものは消えない
catroot2署名検証に関わる暗号化カタログ署名関連のエラー、更新の検証段階で失敗するサービス停止が必須。フォルダ削除ではなく rename が安全
BITS / WUAUSERV更新の転送/更新エンジン更新が進まない、ダウンロードが始まらない業務時間中の実行は避け、メンテ枠で実施する

リセット後は一度再起動し、Windows Update の「更新プログラムの確認」から再テストします。ここで Defender 更新が再度出てくるか、出てきたとして固まるか、挙動が変わるかを観察します。

「Defender 定義更新はできるのに、Windows Update 経由だと固まる」時の追加の見立て

Defender の更新は、単純な定義ファイルだけではなく、環境によってはエンジン/プラットフォーム更新が絡むことがあります。Defender 側からの更新が通っても、Windows Update が別の更新(プラットフォーム更新や関連コンポーネント)を検出して適用しようとして詰まる、という構図は珍しくありません。

Defender の状態を確認する(PowerShell)

まずは Defender の状態を把握して、更新適用の“前提条件”が満たされているか確認します(管理者 PowerShell)。

Get-MpComputerStatus

ここで確認したいのは、ざっくり次のような項目です。

  • Defender が有効か(サービス停止状態になっていないか)
  • リアルタイム保護の状態
  • シグネチャ(定義)関連のバージョンが不自然に古い/更新が失敗していないか

定義の“掃除”をしてから再更新する(影響を最小にした切り分け)

「Defender を完全に消す」前に、まずは定義の削除→再取得で改善するか試す価値があります。Defender の定義が破損している/差分更新が噛み合っていないと、更新適用の局面で無駄に詰まりやすくなるためです。

"%ProgramFiles%\Windows Defender\MpCmdRun.exe" -RemoveDefinitions -All
"%ProgramFiles%\Windows Defender\MpCmdRun.exe" -SignatureUpdate

この手順の狙いは「Defender の状態を初期化に近づけ、更新の前提を整える」ことです。OS そのものの破損が強い場合は効果が限定的ですが、症状が軽くなる/固まるまでの時間が変わるなど、切り分け情報としても有効です。

更新適用中だけ一時的にリアルタイム保護を止めてみる(切り分け用)

更新適用中に I/O 競合が疑われる場合、切り分けとして一時的にリアルタイム保護を止めて挙動が変わるか確認します。これは恒久対策ではなく、原因の絞り込みに使います。

Set-MpPreference -DisableRealtimeMonitoring $true
# Windows Update を実行して挙動確認
Set-MpPreference -DisableRealtimeMonitoring $false
  • 適用テストはメンテナンス枠で実施し、確認後は必ず元に戻します。
  • ネットワーク的に外部と遮断できる/影響が限定できるタイミングでのみ実施してください。

“削除しきり”は最終手段:機能としての Defender を削除→再追加する手順

SFC/DISM とログ確認、Windows Update コンポーネントのリセットまでやっても改善しない場合に限り、「Defender 機能の削除と再インストール」を検討します。ここで大事なのは、フォルダを手作業で消すような“痕跡削除”に寄せないことです。OS の保護対象に手を入れると、状況が悪化したり、将来の累積更新で破綻しやすくなります。

PowerShell で Defender 関連機能を確認する

機能名は環境によって表示が異なることがあるため、まずは “Defender を含む機能名” を一覧します(管理者 PowerShell)。

Get-WindowsFeature *Defender* | Format-Table DisplayName, Name, InstallState -Auto

ここで InstallState が Installed のものが対象です。表示された Name を使って削除します。

Defender 関連機能を削除する(例)

下記はあくまで例です。必ず前段の一覧で実際の名前を確認してから置き換えてください。

Uninstall-WindowsFeature -Name Windows-Defender-Features -Restart

再起動後、同様に再インストールします。

Install-WindowsFeature -Name Windows-Defender-Features -Restart

GUI で行う場合は、サーバーマネージャーの「役割と機能の追加」ウィザードで Windows Defender 機能 を外して再起動 → 再度追加、という流れになります。

再インストール後にやること

  • まず Defender 側から定義更新が通るか確認
  • 次に Windows Update の「更新プログラムの確認」を実行し、Defender 更新が検出されても固まらないか確認
  • 同時にイベントログ(System/Setup)と CBS.log を確認し、エラーが出ていないかチェック

それでも固まる場合に疑うべき“周辺要因”

ここまでの対策をしてもなおハングする場合、「更新処理をきっかけに表面化する別要因」を疑います。特にサーバーが完全に無応答になり、マウスや RDP が効かなくなるレベルなら、単なる更新失敗ではなく、ストレージやドライバ、フィルタドライバ(セキュリティ系)絡みの可能性も出てきます。

疑うポイント典型的な兆候確認先打ち手の例
ストレージ/I/O 詰まり更新時にディスク使用率が張り付き、操作不能になるSystem ログ(Disk/Ntfs/stor*)、タスクマネージャードライバ/ファーム更新、空き容量確保、別時間帯で再試行
保留中の更新/再起動待ち更新が同じ所で止まる、毎回同じ KB で不調Setup ログ、WindowsUpdate.log一度“保留を解消”してから適用順序を整える
WMI の破損更新検出が異常に遅い/管理系ツールが不調Application/System ログ、WMI 関連イベントWMI リポジトリの検証・修復(慎重に)
サードパーティ製セキュリティの残骸アンインストールしたはずでもフィルタが残るプログラム一覧、サービス、ドライバベンダーの削除ツール、残存コンポーネント除去
インプレースアップグレード由来の整合性問題OS 全体が不安定、更新以外でも引っ掛かりがあるCBS.log / Panther / setuperr.log修復ソース指定 DISM、最終的にクリーン構築も検討

実務上の判断として、インプレースアップグレード環境で更新基盤が深く壊れている場合、復旧に費やす時間が長くなることがあります。ログで「修復不能」「同じパッケージで繰り返し失敗」などが見えてきたら、影響範囲と工数を見積もり、移行(新規構築→データ移行)まで含めて検討した方がトータルで安全なケースもあります。

現場で役立つ運用のコツ:再発を抑えるために

  • アップグレード直後は、まず累積更新(最新の更新)まで持ち上げる:更新基盤の不具合が累積更新で改善していることがあるためです。
  • 更新の適用は“まとめて一気に”ではなく段階的に:Defender 更新で固まる場合、先に OS 健全化 → WU リセット → 少数の更新適用と刻む方が原因が追いやすいです。
  • ログ採取の習慣化:固まった時刻が分かるだけでも解析難度が下がります(「何時ごろ固まったか」をメモしてから再起動)。
  • Defender を無効化したまま運用しない:一時対処として外すのはあり得ますが、恒久運用はリスクが高いので、根本原因の解消を優先します。

まとめ:Defender を“完全に消す”前にやるべきこと

Windows Server 2016 Essentials へインプレースアップグレード後に、Windows Update の Windows Defender 更新でサーバーが固まる場合、最初に狙うべきは Defender の痕跡削除ではなく、OS 側の整合性回復とログによる原因特定です。

  • SFC/DISM でシステムファイルとコンポーネントストアを修復する
  • イベントログ(Application/System/Setup)と CBS.log/Panther ログで“固まる直前”を追う
  • 必要なら Windows Update コンポーネント(SoftwareDistribution/catroot2)をリセットする
  • それでも改善しない場合のみ、機能として Defender を削除→再追加する

この順番で進めると、無用な“削除作業”で泥沼化するリスクを抑えつつ、再発しにくい状態へ持っていけます。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次