Windows Server 2016 更新が見つからない/この更新プログラムはお使いのコンピューターに適用できませんの対処法(SSU・DISM・CBSログ)

Windows Server 2016(1607)で長期間ほぼ未パッチの状態が続くと、Windows Update が「更新が見つからない」「すべて失敗する」、手動適用でも「この更新プログラムはお使いのコンピューターに適用できません」となることがあります。本記事では、OS ビルド 14393.3750 で発生しやすい更新不能トラブルを、ログの読み方から SFC/DISM、更新コンポーネントのリセット、修復インストール、最終的な再構築まで実務目線で整理します。

目次

症状:Windows Server 2016 で更新が進まない典型パターン

今回のケースは、Windows Server 2016(バージョン 1607、OS ビルド 14393.3750、インストール日 2018/07/27、ほぼ未パッチ)で次のような現象が重なっている状態です。

  • Windows Update を実行しても「更新プログラムが見つかりません」または更新がすべて失敗する
  • Microsoft Update カタログ等から手動で更新(例:KB4132216 / KB4346087 / KB4457131 など)を適用しようとしても、「この更新プログラムはお使いのコンピューターに適用できません」と表示される
  • Windows Update ログに 0x80240007 / 0x8024000C / 0x80248014 などが出る
  • CBS.log で servicing stack の一致するバージョンが見つからない、servicing stack ディレクトリが見つからない、0x80070490(ERROR_NOT_FOUND)などが見える

最初に結論:SSU の前に「更新基盤の破損」を疑うべき

一般論として、Windows Server 2016 の更新は SSU(サービス スタック更新)→ CU/LCU(累積更新)の順で適用するのが定石です。しかし今回のように、SSU を含めて何を当てても「適用できません」になる場合、順番の問題ではなく、前提となるコンポーネント ストア(WinSxS)や servicing stack 周りの不整合・欠損で「適用対象かどうかを正しく判定できない」可能性が高いです。

この状況では「SSU を探して入れれば解決する」よりも、まず OS 側の整合性を回復させて“正常に更新できる土台”へ戻すのが近道です。

「適用対象外」と言われる代表的な原因

「この更新プログラムはお使いのコンピューターに適用できません」は、文字通り対象 OS ではないケースもありますが、現場では“壊れていて判定できない”ケースも多いメッセージです。まずは原因の当たりを付けます。

原因パターン起きやすい状況確認ポイント優先アクション
コンポーネント ストア(WinSxS)の破損長期未更新、障害復旧や強制電断、ディスク不良、ウイルス対策ソフトの誤検知などCBS.log に 0x80070490 / ERROR_NOT_FOUND、パッケージやマニフェストが見つからない等SFC→DISM /RestoreHealth(必要ならソース指定)
servicing stack 周りの欠損・不整合更新の途中中断、手動での削除/クリーンアップ、ストレージ障害CBS.log に「servicing stack の一致するバージョンが見つからない」「ディレクトリが見つからない」DISM で修復。改善しなければ修復インストール
更新チャネルの問題(WSUS/ポリシー)WSUS 参照設定が残っている、社内 WSUS が死んでいる、プロキシ/SSL 検査ポリシー/レジストリで WUServer、UseWUServer、プロキシ設定ポリシーを整理して Microsoft Update へ戻す、または WSUS を正常化
更新の種類が限定(例:Intel マイクロコード、特定機種向け)CPU/機種/BIOS 条件に依存する更新を、汎用更新のつもりで当てたKB の説明に「特定 CPU のみ」「特定環境のみ」などの条件があるOS 更新(SSU/LCU)と切り分け、後回しでよい
アーキテクチャ/エディション違いx86/x64 の取り違い、言語/エディションの取り違いインストールメディアや MSU の種類、OS のエディション正しいパッケージを選び直す

作業前に必ず取るべき情報(復旧の成功率が上がる)

修復系の作業は「やってみたが戻せない」が最も危険です。最低限、次の情報を控え、可能ならスナップショット/バックアップを取得してから進めます。

確認項目コマンド例見たいポイント
OS バージョン/ビルドwinver systeminfoServer 2016(1607)、Build 14393.x の確認
インストール済み更新wmic qfe list brief /format:table powershell -command "Get-HotFix | sort InstalledOn"最後に入っている更新がいつか(未パッチ期間の目安)
コンポーネント ストアの状態dism /online /cleanup-image /scanhealth dism /online /cleanup-image /checkhealth「修復可能」「破損」などの判定が出るか
Windows Update の参照先reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /sWSUS 指定(WUServer)が残っていないか
更新関連サービスsc query wuauserv sc query bits sc query cryptsvc停止/無効化されていないか

最優先:SFC と DISM で OS を修復する

CBS.log に servicing stack 由来の ERROR_NOT_FOUND が出る場合、ここが直らないと以降の更新適用はほぼ進みません。手順はシンプルですが、成功率を上げるコツがあります。

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

まずはシステムファイルの整合性を修復します。管理者権限のコマンドプロンプトで実行してください。

sfc /scannow

完了後のメッセージが重要です。「破損ファイルを修復しました」なら次へ進み、「一部を修復できませんでした」の場合も DISM を続けます。

DISM(コンポーネント ストアの修復)

続いて DISM でコンポーネント ストアを修復します。

dism /online /cleanup-image /restorehealth
状況よくある結果次の手
インターネットに出られる/Windows Update が生きている完了して「復元操作は正常に完了しました」Windows Update リセット→SSU/LCU 適用へ
閉域/プロキシ制限で修復ソースに到達できない0x800f081f などで失敗(ソースが見つからない)インストールメディアをソースにして再実行
servicing stack ディレクトリ欠損など深刻0x80070490、ERROR_NOT_FOUND が残る修復インストール(インプレース修復)を検討

DISM が失敗するときの現実的な解決策(ソース指定)

Windows Update 自体が壊れている環境では、DISM が修復ソースを取りに行けず失敗しがちです。Server 2016 の ISO(インストールメディア)を用意し、同じエディション/同系統のビルドをソースにして修復するのが実務的です。

install.wim / install.esd のインデックスを確認する

ISO をマウントしてドライブ文字(例:D:)を確認し、まずはイメージ情報を確認します。

dism /get-wiminfo /wimfile:D:\sources\install.wim

出力されたインデックスから、インストール済みのエディションに合う番号を使います(例:Datacenter / Standard)。

ソース指定で RestoreHealth を実行する

dism /online /cleanup-image /restorehealth /source:wim:D:\sources\install.wim:1 /limitaccess

/limitaccess を付けると Windows Update に行かず、指定したソースのみで修復します。閉域環境や WU 壊れ気味のサーバーで特に有効です。

Windows Update の構成要素をリセットする

SFC/DISM で OS の整合性を整えたら、次に Windows Update のキャッシュや署名データを初期化します。SoftwareDistribution の再作成は実施済みでも、サービス停止→キャッシュ初期化→再起動→再検出まで通しで行うと改善することがあります。

リセット対象のサービス

サービス名表示名の例役割
wuauservWindows Update更新の検出/ダウンロード/インストールの中核
BITSBackground Intelligent Transfer Serviceバックグラウンド転送(更新のダウンロード)
cryptsvcCryptographic Services署名検証(catroot2)
msiserverWindows Installer一部更新の適用で使用

代表的なリセット手順(バッチ例)

運用環境では内容を理解した上で実施してください。管理者権限のコマンドプロンプトで実行します。

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

ren %systemroot%\SoftwareDistribution SoftwareDistribution.old
ren %systemroot%\System32\catroot2 catroot2.old

net start msiserver
net start cryptsvc
net start bits
net start wuauserv

リセット後は再起動し、Windows Update の再検出を行います。GUI 操作でも良いですが、環境によっては次のコマンドで検出が走ります。

wuauclt /resetauthorization /detectnow

SSU → 最新の累積更新(LCU)の順で適用する

土台が直ったら、更新の王道パターンに戻します。Windows Server 2016(1607)は毎月の累積更新(LCU)で内容が置き換わるため、古い KB に固執するより、最新 SSU と最新 LCU を組み合わせて入れるほうが復旧しやすいです。

  • まずは SSU(サービス スタック更新)を適用して再起動
  • 次に LCU(累積更新)を適用して再起動
  • 必要に応じて .NET の累積更新や Defender 定義更新などを追加

この段階でまだ「適用できません」が続く場合は、パッケージの取り違いよりも、更新判定の仕組み自体がまだ壊れている可能性が高いので、次章の「CBS ログの読み解き」と「修復インストール」を検討します。

CBS.log に servicing stack の欠損が出るときの見方

CBS.log は、更新が“なぜ適用できないのか”を最も正直に語るログです。特に次のキーワードが見える場合、単発の KB 追加では解決しにくい傾向があります。

  • servicing stack の一致するバージョンが見つからない
  • servicing stack ディレクトリが見つからない
  • ERROR_NOT_FOUND(0x80070490)

この状態は、更新に必要なファイル群(パッケージ/マニフェスト/カタログ/コンポーネント)が欠けていることを示唆します。原因はディスク障害、強制電源断、ウイルス対策の隔離、過去のクリーンアップ失敗などさまざまです。

追加で確認したいチェックリスト

  • ディスクの健全性:イベントログ(System)にディスク関連エラーがないか、可能ならベンダーツールで診断
  • 空き容量:更新・修復には一時領域が必要(C ドライブの逼迫は失敗の定番)
  • 時刻:大きくズレていると署名検証で詰むことがある
  • サードパーティ AV/EDR:一時的に無効化できるか(更新関連フォルダを監視/隔離していないか)

エラーコード別:次に打つ手が分かる早見表

Windows Update 側のエラーコードは抽象的ですが、ログと組み合わせると指針になります。現場でよく当たる組み合わせを表にしました。

エラーコードどこで見える?意味の方向性まず試すこと
0x80240007Windows Update ログ更新エージェント側の処理異常(データ破損/状態不整合)WU リセット、SFC/DISM
0x8024000CWindows Update ログデータが無効、操作が不正など(キャッシュ破損で出やすい)SoftwareDistribution/catroot2 再生成
0x80248014Windows Update ログ更新メタデータの参照に失敗(データベース不整合)WU リセット→再検出、WSUS 設定確認
0x80070490CBS.log / DISM見つからない(パッケージ/マニフェスト欠損の可能性)DISM /RestoreHealth(ソース指定)、修復インストール

修復インストール(インプレース修復)で更新基盤を作り直す

SFC/DISM と WU リセットを丁寧にやっても改善しない場合、サーバーでも現実的な打ち手が修復インストール(インプレース修復)です。これは OS を“上書き”することで、欠損したコンポーネントを復旧し、更新の土台を再構築する方法です。

重要:サーバー用途では、実施前に必ずバックアップと検証計画を用意してください。役割(ロール)やドライバ、セキュリティ製品が絡むため、クライアント OS より慎重な手順が必要です。

実施のコツ(失敗しやすいポイントを潰す)

  • インストールメディアは 同じ Windows Server 2016 / 同じ言語 / 同じエディションを用意する
  • 十分な空き容量を確保し、可能なら一時ファイルの退避も行う
  • サードパーティ製 AV/EDR は一時的に無効化できるか確認する
  • 役割によってはメンテナンス時間を長めに取る(再起動が複数回入ることがある)

大まかな流れ

  1. ISO をマウントし、setup.exe を管理者として実行
  2. 更新のダウンロード選択(環境によりオフライン推奨)
  3. 「引き継ぐもの」で 個人用ファイルとアプリを引き継ぐ(可能な場合)を選択
  4. 完了後、SFC/DISM を再実行して状態確認
  5. SSU→LCU の順で更新を再開

最終手段:新規構築して役割を移行する(再構築)

CBS.log に servicing stack 欠損の痕跡が強く、修復インストールも難しい(または失敗する)場合、結局は再構築が最も確実になりがちです。特に「ほぼ未パッチ」で運用していたサーバーは、修復に時間をかけるより、新規に立て直したほうがトータルのリスクが低いこともあります。

判断基準再構築を選ぶ理由実務での進め方
DISM がソース指定でも直らない更新基盤の欠損が深刻で、修復コストが読めない新規サーバーを構築し、最初にフルパッチを適用
更新のたびに別のエラーが出る部分的に壊れており、場当たり対応が増えるロール/アプリを段階的に移行(並行稼働期間を確保)
重要ロール(AD DS 等)で停止が許されない修復作業は不確実で停止時間が読みづらい追加サーバーとして参加→レプリケーション→切替

「更新が見つからない」を防ぐ運用のコツ

復旧できたとしても、同じ状態に戻さないための運用設計が重要です。特に Server 2016 のような長期運用 OS では、更新の空白期間が長いほど復旧難易度が上がります。

  • 月次での更新習慣:少なくとも LCU は定期適用し、未更新期間を短くする
  • 更新前のバックアップ:失敗時に戻せるルートがあると攻めた復旧ができる
  • ディスク/ストレージ監視:WinSxS 破損はストレージ要因が隠れていることがある
  • 定期的な健全性チェック:イベントログ、SFC/DISM の軽いチェックを保守に組み込む

よくある質問

「Server 2016(1607)の更新は途中から出なくなったのでは?」

「更新が見つからない」状態が続くと、更新提供自体が止まったように見えます。しかし実際には、更新検出の仕組み(Windows Update エージェント、コンポーネント ストア、WSUS 設定など)が壊れているだけ、というケースが多いです。まずは本記事の流れで更新基盤を正常化し、それでも更新が見えない場合に、ネットワーク/WSUS/ポリシー側の問題を疑うのが安全です。

「SSU を先に入れれば全部解決する?」

SSU は確かに重要ですが、SSU 自体が「適用できません」になる場合は、SSU 以前の段階(コンポーネント ストア/servicing stack)で破損している可能性が高いです。SFC→DISM→WU リセットで土台を作ってから SSU に戻るのが現実的です。

「KB4346087 のようなマイクロコード更新も入れないとダメ?」

マイクロコード更新は機種・CPU・BIOS など条件が限定されることがあり、OS の更新(SSU/LCU)とは切り分けて考えるのが安全です。まずは SSU/LCU を正常に回せる状態に戻すことを優先し、その後に必要性を評価しましょう。

「更新できないサーバーをそのまま放置してよい?」

セキュリティ更新が当たらない状態は、脆弱性リスクだけでなく、将来的な障害対応(証明書や署名の更新、アプリの依存関係)にも影響します。短期的に復旧できない場合でも、再構築や役割移行の計画を早めに立てるのが結果的に安全です。

この記事を書いた人

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

コメント

コメントする

目次