最初のアップグレードがあったWindows 10
バージョンの「1511」は15年11月の略?
Windows10の最初のアップグレードとなる「TH2」がリリースされた。今年7月29日に正式公開されたWindows 10には、「Threshold」というコード名があり、その最初の正式版はTH1と呼ばれている。このTH2がどのようなものなのかについては、すでにニュースなどで紹介されているため、ここでは繰り返さない。
TH2では、Windowsのバージョン番号のシステムが変更になった。Windowsのバージョン番号を表示する「Winver.exe」では、TH1の時点では、バージョン番号として「10.0」が表示され、後にビルド番号(TH1は10240)が表記されていた。
しかし、TH2では、バージョン番号として「1511」が、ビルド番号は「10586.x」と小数点付きで表示が行なわれるようになった。
TH2へアップグレードした直後には、「10586.0」だったが、Windows UpdateでKB3105211(関連リンク)が適用されると「10586.3」となる。つまり、Winver.exeで表示されるビルド番号の小数点以下の部分は、Windowsのアップデート状態を表していると考えられる。なお、TH1の場合、Winver.exeの表示には、変化はなかった。
Windowsは、Windowsアップデートやユーザーが手動で適用するHotFixなどにより、システムファイルが置き換わる。Windows 8.1には、最初にリリースされたWindows 8.1と8.1 Updateの2つのバージョンがあることが知られている。こうした違いを区別する場合、簡単な方法としては、MSinfo32.exeの「ハードウェアアブストラクションレイヤー」のバージョン番号を見るというものがあった。
ここには、カーネルとハードウェアの間で動作するHAL.DLLのファイルバージョンが表示され、大きな変更では、このHAL.DLLも書き換わる。MSinfo32.exeは、システム状態などを表示するツールのためわかりやすいというメリットがあった。
TH1では「10.0.10240.16392」という従来のような表記になっていたが、TH2では、この項目は「10.0.10586.0」となっている。実際にHAL.DLLのファイルバージョンも同じ値だ。このため、Windows 8とは違い、HALのバージョンを見る方法では、Windows10のアップデート状態などを必ずしも確認できないようだ。逆にWinver.exeに表示される「10586.3」はどこから来ている番号なのだろうか?
一般にオペレーティングシステムでは、カーネルのバージョンが大きな意味を持つ。Windowsでは、C:\Windows\System32にあるNTOSKRNL.EXEがカーネルとなる。TH2の場合、最新のものでは「10.0.10586.3」となっており、後半がWinver.exeのビルド表記と一致している。
しかし、ファイルのプロパティで表示される「ファイルバージョン」はそもそもファイル内部に記録されている情報を表示するものなので、ファイル自体が更新されないと、バージョン番号は変化しない。もし、カーネルがまったく修正されない修正があった場合にどうなるのかが不明だ。
レジストリで詳しくバージョンを調べる
Windowsには、バージョンやリリースに関連する情報が格納されているレジストリがある。場所は以下のキーだ。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
ここには、いわゆるバージョン番号(CurrentMajorVersionNumber、CurrentMinorVersionNumber)などの情報に加え、ビルド関連の情報として「BuildLab」や「BuildLabEx」だ。一般にマイクロソフトの命名方法では、Exがつくものは、後から定義され拡張されたものとなるため、「BuildLab」は、過去との互換性のためにあり、現在の標準は「BuildLabEx」のほうだと考えられる。この値は、TH1の最終版(KB3105213がインストールされたもの)では、
10240.16590.amd64fre.th1_st1.151104-1714
という値が設定されている。
これから推測するに、TH1の最終版は、現時点では「th1_st1」というリリースだと思われる。なお、KB3105213がインストールされる前の段階では、
10240.16545.amd64fre.th1.150930-1750
だった。
また、その前には、
10240.16545.amd64fre.th1.150930-1750
10240.16384.amd64fre.th1.150709-1700(正式版)
といったデータがあった。10240がビルド番号だとすると、次の数字は、同一ビルドに対してのWindowsアップデートによるバージョンを示していると思われる。
この文字列の意味だが、おそらくビルドに対して、
10240.16545.amd64fre.th1.150930-1750
となっているのではないかと想像される。
では、TH2の場合を見てみよう。リリース直後のTH2では、
配布直後は、
10240.16545.amd64fre.th1.150930-1750
だが、KB3105211が適用されると、
10586.3.amd64fre.th2_release_sec.151104-1948
となった。つまり、最新版は、「th2_release_sec」(secはSecond、2番目の意味か?)である。また、前半部分は、カーネルのバージョン番号と、Winver.exeで表記されるビルド番号に一致している。
さて、TH2から新しくバージョンとして表示されるようになった数字「1511」だが、BuildLabExと同じ場所に「ReleaseId」という名前があり、データとして「1511」が設定されている。これがおそらくWinver.exeに表示される「バージョン」なのではないかと考えられる。
「ReleaseId」という名称から想像するに、開発の進行に伴って上げられていくバージョン番号なのではなく、TH1やTH2などのリリースに対して付けられる「ID」、つまり名前なのではないかと思われる。そうなると、1511とは「2015年11月」の意味ではないかと想像される。
マイクロソフトの以前の発言によれば、TH2のようなメジャーなリリースは年に2~3回程度とされており、リリース自体は、それほど頻度が高いわけではない。しかし、問題して、少なくともサポートする場合には、TH1とTH2では、操作や機能に違いがあるため、ユーザーにも区別してもらう必要がある。
もちろん、TH1やTH2でもいいのだが、この次のアップグレードは、RedStoneで「RS1」と「RS2」が予定されている。おそらく、リリース月で区別ができるため、わかりやすいバージョン番号として「西暦下二桁+月」という仕組みが採用されたのではないかと想像される。
これにより、TH2は、Windows 10バージョン1511で区別できるようになる。実際、TH2用のKB3105211は、Webページでは「Cumulative update for Windows 10 version 1511」と表記されている。また、マイクロソフトも発表資料などでは「Windows 10 Novenber Update」といった表記をしている。
(次ページでは、「来年には異なる系列のアップグレードが登場予定」)
この連載の記事
-
第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つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 - この連載の一覧へ