Windows Updateは、さまざまなセキュリティ更新だけでなく、最近では、Windows自体のアップグレードにも利用されている。このためか、Windows Updateは、このところ、メジャーアップデートで変更されることが多い。
Windowsアップデートが更新するのは、
・ディフェンダー用定義ファイルなどの情報更新
・Windowsやアプリケーションのセキュリティ更新プログラム
・Windowsの更新/累積更新プログラム
・Microsoft製Desktopアプリケーションのバージョンアップ
・特定ハードウェア関連(Surfaceなど)の更新プログラム
・メジャーアップデート(ビルド配布)
などである。このうち、メジャーアップデートなどでは、再起動を含むアップデート操作が行なわれ、再起動後にユーザー環境の再構築が行なわれる。
Windows 10 Anniversary Update(以下、RS1)では、Windows Updateで再起動が必要になった場合に、利用中の再起動を避けるために「アクティブ時間」が導入された。
しかし、アクティブ時間が最大12時間と実用で使うには短かかった。たとえば自宅で一日を過ごすようなユーザーや、帰宅後と出勤前に就寝を挟んで利用するようなユーザーは、利用時間全体をアクティブ時間に設定することができなかった。このため、Creators Update(以下、RS2)では、アクティブ時間が18時間に延長された。
Fall Creators Update(以下、RS3)では、設定項目などを含め、Windows Updateのユーザーインターフェースが変更される予定だ。
ビルドインストールにも効率化のための改良が
Windows Updateが行なう作業のうち、最も大きなものが、メジャーアップデートなど、Windows自体をアップグレードする作業だ。このとき、実際にはWindowsの再インストールとほぼ同じことが行なわれている。このときには、Windowsの特定のビルドが配布され、これがインストールされる。この「ビルド更新」には、いくつかの問題があった。
・配布されるビルドが大きく、ダウンロードに時間がかかりインターネット帯域を圧迫
・Windows 10 MobileではWindows Updateとは違う仕組みが使われていた
・インストールが長時間にわたり、ユーザーが利用できない時間があった
こうした問題に対して、マイクロソフトがRS2で導入したのががUUP(Unified Update Platform)という仕組みだ。これは、主にマイクロソフトの設備側の仕組みだが、RS2では、Windows UpdateクライアントプログラムもUUP対応のものに変更されている。
「Unified」とは、Windows 10 DesktopとWindows 10 Mobile、将来的には、Windows IoTなども含めて、Windows Updateの配信を統一する仕組みだ。ただし、XBox OneにはUUPは導入されない予定だ。おそらく配布されるビルドイメージにアクセスさせないようにXBOX One側のセキュリティの高い領域からのみ更新イメージにアクセスさせるようだ。
Xbox Oneでは仮想マシン環境を使い、ゲーム用のExclusive OSと、Xboxシェルを実行しているShard OSの2つが動作している。このうちWindows 10に相当するのはシェルを実行しているShared OS側。ハイパーバイザー(Host OS)やExclusive OSにはユーザーがアクセスできないようになっている。
UUPでは、ビルドの配布時にクライアント側の変更されていないファイルを除いた「差分ダウンロードパッケージ」(Differential download packages)を使うことができるようになる。差分ダウンロードパッケージには、更新されたファイルのみが含まれ、差違の小さなファイルは、ファイル全体ではなく「バイナリデルタ」と呼ばれる差分のみを送信し、これで現在クライアント側にあるファイルを書き換えて更新を行う。これにより、完全なビルドを送信するのと比較して差分ダウンロードパッケージは、35%程度のサイズ削減が可能になるという。
UUPでは、さらに「標準ダウンロードパッケージ」(Canonical download packages)も用意される。これは、ビルドの完全なイメージで、これを使う場合には現在クライアントにあるファイルはまったく同一の場合でも再利用されない。
なお、ビルドの更新では、単一のパッケージだけがやりとりされるのではなく、複数のパッケージが使われる。ビルドの作成以後に作られた更新や特定のデバイスでのみ利用するアップデートパッケージなども同時にインストールが行なわれるからである。
実際、マイクロソフトがRS2のプレビュービルドの配布に使ったとき、配布された「標準ダウンロードパッケージ」と「差分ダウンロードパッケージ」では、ファイルサイズに36%もの違いが出たという。
ただし、「差分ダウンロードパッケージ」には、適用可能なベースラインビルド(番号)が定められており、しばらくWindows Updateを実行していなかったなどでベースライン未満のビルドを利用している場合には、「標準ダウンロードパッケージ」を使わなければならない。
Windows 10 Mobileも大きくアップデートが効率化
また、UUPはアップデート作業を効率化する。Windows 10 Mobileでは、従来Windows Phone時代から使われてきた「Phone Update」という仕組みでビルド更新を実行していた。携帯電話やスマートフォンのような組み込み機器では、ROMやフラッシュメモリをCPUのメインメモリ空間に割り当て、そこでシステム関連のソフトウェアを直接実行することが多い。
このため、OSの実行イメージは、ファイル形式ではなく、ROMに格納される形式になっている。これは、OSを構成するソフトウェアモジュールをファイルとして外部記憶装置に保存し、起動時にメモリに読み込んで実行するPCとは違った構造になる。PCでいえばBIOSなどのファームウェアに似ている。PCでも、ファームウェアの更新には専用のソフトウェアと専用のイメージファイルが必要で、他メーカーのものは流用できない。
Phone Updateでは、ビルド更新時にWindowsを止め、ファームウェアにあるシステム更新機能でフラッシュメモリを書き換える必要があった。汎用性のあまり高くない組み込みソフトウェアがシステム領域を更新するため、インストールイメージの形式変更などには柔軟には対応できない。このため検証済みの組合せでしかアップデートをインストールすることができなかった。複数のアップデートがあった場合でも、1つ1つ段階を追ってアップグレードしていく必要があった。
UUPの導入により、Windows 10 Mobileでは、Windows 10 Desktopと同じく、アップデートを飛ばしてシステム更新を行なうことも可能になった。また、前述の差分ダウンロードパッケージは、ファイルサイズが35%程度小さくなるため、モバイル回線によるダウンロードでも有利になる。
また、UUPは、クライアントに配布するアップデートをサーバー側で判断するため、クライアント側の処理が軽減されるという。
このUUPは、RS2のインサイダープレビューBuild 14986(PC用、Mobile版はBuild 14959)で導入され、以後の配布に利用された。現在利用されているRS2(Build 15063、Creator's Update)にも組み込まれている。
さて、次回はRS3で行なわれるビルド更新処理の改良を見ていくことにする。
この連載の記事
-
第462回
PC
Windows Terminal Preview版でSixelグラフィックスを扱う -
第461回
PC
Copilot+ PCを買ってみたが、「今焦って買う必要はない」のかもしれない -
第460回
PC
Windowsでsftpを使う -
第459回
PC
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた -
第458回
PC
Windows上でhostsファイルを活用する -
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる - この連載の一覧へ