Windows Update の仕組みの概要について

この記事は約9分で読めます。

概要

“再起動が必要です。”

多くの Windows ユーザーにとって、このメッセージは毎月見ると思います。
毎月作業を中断し、再起動させらるため、厄介に感じている人もいると思います。しかし、この Windows Update は、新しい機能を追加したり、脆弱性を修正したりと、非常に重要なものです。

では、この Windows Update とは、一体どのような仕組みで動いているのか。

この記事では、普段私たちが何気なく実施している Windows Update の裏側で何が起きているのかを、分かりやすく解説します。
この記事を読めば、次回のWindows Updateが、少し違って見えるようになるはずです。

サービスとしてのWindows (WaaS) への進化

現在の Windows Update を理解する上で欠かせないのが、”Windows as a Service – WaaS” です。

昔の Windows は、Windows XP、Vista、7、8 のように、数年おきに全く新しいバージョンが発売される「買い切り」モデルが主流でした。
アップデートは主にセキュリティパッチや不具合修正が中心で、新機能の追加は次のメジャーバージョンまで待つ必要がありました。

しかし、Windows 10 の登場とともに、Microsoft 社はこのモデルを大きく転換しました。
OS を「製品」ではなく「サービス」として捉え、継続的に改善し、新しい機能を届けていくという考え方、それが WaaS です。

この WaaS モデルによって、Windows Update は単なる不具合修正だけでなく、年に 1~2回 (現在は年1回)、OS の根幹に関わる新機能を追加する “機能更新プログラム” と、毎月配信されるセキュリティ強化や品質改善のための “品質更新プログラム” という、2つの柱を持つ現在の形に進化したのです。
ちなみに、品質更新プログラムの中には、D パッチと呼ばれる、オプション更新プログラムもあります。詳しくはこちら

これにより、ユーザーは常に最新の機能と最高のセキュリティを手に入れられるようになり、かつ、昨今の有効化パッケージにより、互換性対応なども減ってきました。
この WaaS こそが、現代の Windows Update の根幹をなす思想なのです。

Windows Update の全体像

それでは、具体的に Windows Update のプロセスを見ていきましょう。
このプロセスは Windows Update サービスと、私たちのPCで動作する Windows Update クライアントによって成り立っています。

更新プロセス

あなたのPCで “更新プログラムのチェック” を押下した際の、内部動作を、Microsoft 社の公式ドキュメントを参考に見ていきます。

スキャン

あなたの PC の Windows Update Orchestrator は Microsoft 社へ通信を行い、最新のプログラムはないかを確認します。これがスキャンです。

Windows Update のしくみ | Microsoft Learn より引用

1.Ochestrator Schedule Scan
ユーザーが手動で Windows Update ボタンをクリックした場合や、ポリシーや設定等でスケジュールされた時刻になった場合、ランダムな時刻 (タスクスケジューラーで設定) で PC 内の USO (Update Session Orchestrator) がスキャンプロセスを開始します。
これは、Windows Service の “UsoSvc” で実行されます。

このサービスは、タスクスケジューラにて計画されています。

実行されるプログラムは以下の通り。

スケジュールはランダム化されており、理由としては Microsoft 社にある Windows Update が高負荷にならないようしているためです。

PC の Windows Update Orchestrator によって、Microsoft Update サーバーまたは WSUS エンドポイントで、ランダムな間隔で新しい更新プログラムがチェックされます。 ランダム化により、Windows Update サーバーが要求で同時に過負荷にならないようにします。

Windows Update のしくみ | Microsoft Learn

2.Ochestrator verifies IT Admin approvals and policies for download
その後、ポリシーが適用されているかどうかを確認します。
これは、[コンピューターの構成] – [管理用テンプレート] – [Windows コンポーネント] – [Windows Update] – [Windows Server Update Service から提供される更新プログラムの管理] にて、[イントラネットの Microsoft のサービスの場所を指定する] にて設定、Intune によって設定されたポリシーを確認します。

ダウンロード

インストールすべき更新プログラムのリストができたら、次は更新プログラムをダウンロードします。数百 MB ~ 数 GB に及ぶこともある更新ファイルをダウンロードします。

Windows Update のしくみ | Microsoft Learn より引用

1.Orchestrator initiates download:
USO の指示に基づき、Windows Update エージェントが更新プログラムのダウンロードを開始します。

2.WU downloads manifest files and hands to Arbiter
Windows Update のスキャン後は、Windows Update サービスに接続し、 「更新プログラムのカタログ」とも言えるメタデータをダウンロードします。このメタデータには、「この更新プログラムは、どのバージョンの Windows の、どのコンポーネントに対するもので、適用条件は何か」といった詳細な情報が記述されています。

3.Arbiter evaluates manifest and tells WU client to download files
PC は受け取ったメタデータと、自分自身のシステム状態 (インストールされているプログラム、OS のバージョンなど) を照合します。そして、「この更新は既に適用済み」「この更新は自分の PC には不要」「この更新はまだ適用されていない」というように、インストールすべき更新プログラムのリストを作成します。

この技術が差分更新です。毎月の品質更新プログラムは「累積的」であり、過去の修正がすべて含まれています
また、機能更新プログラムについても、有効化パッケージが導入されています。有効化パッケージは、毎月の品質更新プログラムに無効化された機能が追加されており、機能更新プログラムの適用後、機能が有効化されます。
2025年秋に来る機能更新プログラム、25H2 でも、有効化パッケージを利用しています。
詳細は、こちら

4. WU client downloads files in the temp folder
Windows Update は一時フォルダーへ格納されます。Windows Update において、容量不足などの更新ができない問題などは、ここがスタックするためです。

補足:配信の最適化 (Delivery Optimization)
ここで活躍するのが、Windows 10 から導入された「配信の最適化」という P2P (ピアツーピア) 技術です。これは別記事で解説しているので、そちらを参考にしてください。

インストール

ダウンロードが完了すると、インストールです。
これは、ダウンロードしたファイルを解凍し、PC のシステムに組み込んでいく作業です。

Windows Update のしくみ | Microsoft Learn より引用

1.Ochestrator initiates install
USO がインストーラーを呼び出し、ダウンロードされたパッケージの適用を開始します。

2.Arbiter calls installer to install package
更新プログラムは、古いシステムファイルを新しいものに置き換えたり、新しいファイルを追加したり、レジストリ設定を変更したりします。
多くのインストール作業は、ユーザーが PC を使用している最中でも、バックグラウンドで行われます。これにより、ユーザーの作業中断を最小限に抑えています。

ただし、システムの根幹に関わる重要なファイルを置き換える場合は、使用中のファイルを直接上書きすることはできません。そこで必要になるのが、次のステップです。

コミット

インストール作業が完了しても、更新はまだ仮適用状態です。これを確定 (コミット) させ、システムを完全に新しい状態にするために、再起動が必要になる場合があります。

Windows Update のしくみ | Microsoft Learn より引用

1. Ochestrator initiates reboot:
USO は、更新内容を分析し、再起動が必要かどうかを判断します。必要な場合は、「アクティブ時間」(ユーザーが PC をよく使っている時間帯) を避け、作業に支障が出ない夜間などに再起動をスケジュールします。

2.Abiter finalies before reboot:
再起動のプロセス中に、システムの重要ファイルを最終的に入れ替える作業を行います。これが、再起動時に「Windows を構成しています」という画面が表示される理由です。
更新が正常に完了すると、古いバージョンのファイルやダウンロードされたインストールファイルなど、不要になったデータがクリーンアップされ、ディスクスペースを確保します。

ネットワークトレースでみる、Windows Update

ネットワークトレースの Fiddler を用いて、Windows Update のボタンを押したとき、何が起きているのかを見てみます。
※WSUS では管理しておらず、一般利用 PC です。

Windows Update のボタンを押してすぐに、Microsoft のサーバー (settings-win.data.microsoft.com) へ送りに行きます。
これにより、PC へ適用できるかどうかなどを判別していると思われます。

重要: このエンドポイントは、診断関連の設定とデータ収集についてリモート構成を行うために必要です。 たとえば、あるイベントが Microsoft に送り返されることを防ぐブロックをリモートで構成する場合や、Windows 診断データ プロセッサ構成にデバイスを登録する場合に、この設定エンドポイントを使用します。 このエンドポイントへのアクセスをブロックしないでください。 このエンドポイントは Windows 診断データをアップロードしません。

組織内の Windows 診断データの構成 – Windows Privacy | Microsoft Learn

その後、download.windowsupdate.com へと接続をし、コンテンツをダウンロードしに行きます。

情報送信→ Windows Update 取得、といった流れになるわけですね~。

参考情報

How Windows Update works | Microsoft Learn

タイトルとURLをコピーしました