はじめに

※このページの情報は古くなっています。
 2017年7月12日以降の問題は 以下のページで取り扱っています。

Windows Updateが終わらない問題の対処方法 2018年版
※2017年7~11月分の更新は Windows 10/8.1/7 の情報を1ページにまとめています。

2017年5月17日時点、Windows Update Client の最新版は KB4019265 に含まれています。

 

以下は KB3138612 が最新のWindows Update Clientだった頃 (2016年3月)の記録です。
当時は「テレメトリ関連の更新を非表示にする」、「Win32k.sys を置き換えるKBを先入れする」という方法でも問題解決できていたため、その辺を絡めた更新となっています(現在はこの方法が通用しません)

ということで、このページは過去の資料としてお読みください。

スポンサー リンク

Windows Updateの「更新プログラムの確認」に時間がかかり過ぎる問題のいろいろなテスト中。以下は2016年3月初旬に行ったものです。

とりあえず、毎月キチンとWindows Updateしていれば、Windows10関連の更新を除外して、かつ古いWindows Update Agentのみ (KB2887535 2014年7月のWindows Update Agent)を利用した場合でも「更新の確認」は短時間で終わるようです。

検証1: クリーンインストール直後

VMware上にWindows7 SP1を「クリーンインストール」して
 ・ KB3138612 (2016年3月のWindows Update Client)
 ・ KB2887535 (2014年7月のWindows Update Agent)
上記いずれかを入れてWindows Updateのテストを行ってみました。
※ PC環境はVMware上の仮想PC

結果

KB3138612 (2016年3月配信分) を先にインストール
KB3138612
▲クリックで拡大:「更新の確認」は3分で終了。
※Windows UpdateはPC起動後3分30秒待ってからスタートした。

KB2887535 (2014年7月配信分、デフォルトの状態)
KB2887535
▲クリックで拡大:「更新の確認」に65分かかった。

  • KB2887535を真っ先にインストールした場合
  • Windows Updateに任せてWindows Update Agent 7.6.7600.320を自動インストールした場合
  • どちらも同じ結果となった。

 

うーむ、やはり Windows7 SP1の「クリーンインストール直後」だとKB2887535だけでは「更新の確認」は早くならないです。

検証2: 最新の状態までWindows Updateした後に再テスト

ニッチなPCゲーマーの環境構築さんにて、KB2887535だけでも問題なくWindows Updateできる旨の報告があるので 手元のPCをそれと同じような状態に近付けて検証してみます。
※検証日は2016年3月6~8日。月例Windows Updateの前

テスト開始前の状態 (非表示リスト)
Windows7 非表示リスト
▲クリックで拡大

  • Windows10関連、テレメトリ関連、2015年4月以降の Windows Update Client 更新プログラムを全て非表示にする
  • Windows Update Agentは KB2887535 のままにする
  • Windows Updateは一旦 最新の状態に上げる

この状態で再び Windows Updateを行ってみます。

備考

非表示にした更新プログラム一覧

KB3021917 CEIP&テレメトリ(遠隔情報収集)関連
KB3123862 Win10アプグレ関連
KB3080149 テレメトリ関連
KB3075249 テレメトリ関連
KB3068708 テレメトリ関連
KB3035583 Win10アプグレ関連
KB2952664 Win10アプグレ関連(Application Experience)

※以下WindowsUpdateクライアント
KB3138612 ・・・・2016年3月
KB3135445 ・・・・2016年2月
KB3112343 ・・・・2016年1月
KB3102810 ・・・・2015年12月
KB3083710 ・・・・2015年11月
KB3083324 ・・・・2015年11月
KB3075851 ・・・・2015年10月
KB3065987 ・・・・2015年7月
KB2990214 / KB3050265 ・・・・2015年4月

参考にしたリンク(上のリンクと同じ)
【Win】WindowsUpdateで入れなくても良いKBリスト。2016年3月2日まで分: ニッチなPCゲーマーの環境構築
※以下二つは更新リストに表示されなかった。
KB2977759 CEIP関連
KB3022345 テレメトリ関連

※上記は2016年3月6日時点のリストです。

結果

更新リストの取得時間について
「更新の確認」中 「更新の確認」は2分で終了。
▲クリックで拡大:「更新の確認」は2分で終了しました。

  • なるほど、Windows Updateを 一旦 最新の状態まで持って行けば、Windows Update Client が古くても短時間で更新の確認が完了します。
    (※この条件に「Windows10関連の更新を非表示」にする事が含まれるかどうかは未検証)

 

メモリの消費量について
KB2887535 KB3138612
▲クリックで拡大:
左はKB2887535のみ、右はKB3138612をインストールした後
KB2887535 のみの場合、かなりのメモリ消費が発生します。

  • 64bit版 Windows7の場合、メインメモリが4GBあれば (一応)大丈夫な感じはしますが、常駐アプリが大量に起動していたり、大量のメモリの断片化が発生していると「エラー8007000E」が発生しやすいようです。
  • メモリの少ないPCで 過去の更新プログラム(特にWindows Update Client関連) を非表示設定にしてWindows Updateする場合は、Windows Updateする前にクリーンブートを行う等の工夫が必要だと思われます。

 

検証3: 2016年3月度の月例Windows Updateでの検証

KB2887535(2014年7月配信)と KB3138612(2016年3月配信) に加え、KBKB3135445(2016年2月配信)をインストールした状態のPCを加え、3種類の環境でWindows Updateのテストをしてみました。
以下、いずれもVMware上の64bit版 Windows7 で確認 (メモリ4GB)

KB2887535を利用した場合

  • KB2887535を利用1KB2887535を利用2
    ▲クリックで拡大
    更新の確認にかかった時間は18分
    前回のWindows Updateは 3/8
    ※ Windows10関連およびWindows Update Client 関連の更新プログラムを全て削除&非表示にしている。
  • KB2887535 は 2014年7月配信の Windows Update Client
  • Windows Update時のメモリ消費量は多め。
    (Windowsシステムと合わせて約3GB消費)

 

KB3138612を先にインストールした場合

  • KB3138612を先にインストール1KB3138612を先にインストール2
    ▲クリックで拡大
    更新の確認にかかった時間は16分
    前回のWindows Updateは3/6
    過去の全ての更新プログラムをインストールしている場合。
  • KB3138612 は 2016年3月2日配信の Windows Update Client
  • Windows Update時のメモリ消費量は少なめ。(1.2~2GB消費)
 

KBKB3135445をインストールした状態の場合

  • KB3135445を利用1KB3135445を利用2
    ▲クリックで拡大
    更新の確認にかかった時間は48分
    前回のWindows Updateは 2/18(3週間Windows Updateしなかった)
    Windows Update Client は 2/3公開のKB3135445を利用している。
  • KBKB3135445 は 2016年2月配信の Windows Update Client
  • Windows Updateの状態が1か月古いだけでも、確認時間は大幅に伸びる模様。
    Windows Update時のメモリ消費量も多めになった。(約3GB消費)

 

以上の結果から、

  • 普段 Windows Updateを停止している、または Windows Updateの間隔が2~3週間以上空いている。
  • Windows Update Client に「2015年4月以降のバージョン」を利用し、かつ最新版を利用していない。
  • Windows10関連、テレメトリ関連の更新プログラムの除外や非表示設定を中途半端に行っている。

これらの条件がいくつか重なってくると、更新の確認に時間がかかり過ぎる問題が発生するものと考えられます。中途半端な運用が一番良くない感じです。

このページの検証情報は以上です。
以下、気が付いたことや このページのまとめ。

その他、気が付いたこと1

KB2887535 KB2887535
▲クリックで拡大:

  • Windows Update Client を更新すると、「非表示リスト」や「更新履歴」がクリアされる場合があるようです。
  • この場合、再度手動で非表示にする必要があります。
  • また更新する時だけでなく、Windows Update Client を削除する際にもこの非表示リストの消失が発生する場合もあります。
  • 定期的に更新されるKBの場合、その最新の更新パッチを削除&非表示にすると過去の関連した更新パッチが再び登場します。(これも再び手動で非表示にする必要がある)

なるほど、これは面倒くさい。Windows Updateを手動更新してWindows10関連の更新を拒否する場合に「入れないほうがいいリスト」の作成がなぜ重要なのか、なぜ過去のKBまでリスト化しなければならないのか、色々と理解できました。

その他、気が付いたこと2

Windows Updateでメモリ消費量が大きくなると、 エラー 8007000E が発生しやすくなります。

エラー 8007000E
▲クリックで拡大
サイト内関連: Windows Updateのエラー 8007000Eの対処方法

Windows Update前のPC再起動やクリーンブートを行う事で、このエラーの発生を最小限に食い止めることが可能ですが、Windows Updateを半年以上溜めている場合などは、Windows Update Client を更新しなければ根本的な解決にはならないようです。

まとめ

「Windows10関連の更新ファイルはできるだけ除外したい」「Microsoftの情報収集もできるだけ除外したい」「CPUや通信に無駄な負荷はかけたくない」という場合は、(週1回以上のペースで更新の確認を行う場合は) ニッチなPCゲーマーの環境構築 さんの手法を参考にするのが良いかと思います。

しかし この場合、毎月キチンと情報収集を行ってからWindowsUpdateを行う事が重要だと感じます。
また不要と思われる更新プログラムを1つ1つ手作業で非表示にして行くのは非常に骨が折れますが、ここで不要な更新プログラムをインストールしたり、数ヶ月分の更新を溜めたりすると「更新の確認」に時間がかかるようになると思われます。

PCの管理がずさんな場合や、数ヶ月分のWindows Updateを溜めてしまう場合、また、既に「更新の確認に時間がかかりすぎる」「エラー8007000Eが頻発する(このエラーの原因はメモリ不足)」という問題に遭遇し、その解決が難しい場合などは、最新の Windows Update Clientを 先にインストールするのが手っ取り早いです。

Windows10のアップグレード関連が邪魔だけど手間をかけたくない、と言う場合は GWX Control Panel と最新の Windows Update Clientをインストールしておくのが無難かと思います。(ただしこの場合、テレメトリ関連を削除するのは (Windows Update Clientが非表示リストのチェックを行うと思われるため) 非常に面倒になります)

以下 余談

KB2887535こちらのページ(KB949104)で配布しているファイルは同じもの(バージョン7.6.7600.320)なのですね。
実は今回のテストをして初めて気が付きました(^_^;

ダウンロードした WindowsUpdateAgent-7.6-x64.exe のハッシュ値
Windows7無印にインストール
▲クリックで拡大
KB2887535 とKB949104、同じハッシュ値です。

という事は、2016年3月時点、KB2887535は手動インストールしなくても、最初のWindows Updateで真っ先にインストールされます。
KB2887535 Windows7 SP1で初めてWindwows Updateする時
▲クリックで拡大(Windows Updateの設定により、左右いずれかの画面が出ます)
2016年3月現在は、Windows7 SP1クリーンインストール直後の Windwows Updateで、これらのボタンを押すとまず初めにKB2887535(Windows Update Agent バージョン7.6.7600.320) がインストールされます。
改めてKB2887535を入れなくてもOKです。

参考リンク

サイト内 関連ページ