このページの本文へ

前へ 1 2 次へ

Windows Info 第54回

Windows 10 TH2ではバージョン番号体系に変化あり

2015年11月25日 12時00分更新

文● 塩田紳二 編集● ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

最初のアップグレードがあったWindows 10
バージョンの「1511」は15年11月の略?

 Windows10の最初のアップグレードとなる「TH2」がリリースされた。今年7月29日に正式公開されたWindows 10には、「Threshold」というコード名があり、その最初の正式版はTH1と呼ばれている。このTH2がどのようなものなのかについては、すでにニュースなどで紹介されているため、ここでは繰り返さない。

 TH2では、Windowsのバージョン番号のシステムが変更になった。Windowsのバージョン番号を表示する「Winver.exe」では、TH1の時点では、バージョン番号として「10.0」が表示され、後にビルド番号(TH1は10240)が表記されていた。

TH1のWinver.exe。バージョンは10.0でビルドが10240になっている

 しかし、TH2では、バージョン番号として「1511」が、ビルド番号は「10586.x」と小数点付きで表示が行なわれるようになった。

TH2のWinver.exe。バージョンが1511、ビルド(OSビルド)が10586.0となった

 TH2へアップグレードした直後には、「10586.0」だったが、Windows UpdateでKB3105211(関連リンク)が適用されると「10586.3」となる。つまり、Winver.exeで表示されるビルド番号の小数点以下の部分は、Windowsのアップデート状態を表していると考えられる。なお、TH1の場合、Winver.exeの表示には、変化はなかった。

さらにWindows Updateによりビルドが10586.3となる

 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」はどこから来ている番号なのだろうか?

TH1でのシステム情報(msinfo32.exe)の表示(情報部分のみ切り抜き)。ハードウェアアブストラクションレイヤーが「10.0.10340.16384」となっていた

 一般にオペレーティングシステムでは、カーネルのバージョンが大きな意味を持つ。Windowsでは、C:\Windows\System32にあるNTOSKRNL.EXEがカーネルとなる。TH2の場合、最新のものでは「10.0.10586.3」となっており、後半がWinver.exeのビルド表記と一致している。

Windowsのカーネルのバージョンは「10.0.10586.3」になっていた

 しかし、ファイルのプロパティで表示される「ファイルバージョン」はそもそもファイル内部に記録されている情報を表示するものなので、ファイル自体が更新されないと、バージョン番号は変化しない。もし、カーネルがまったく修正されない修正があった場合にどうなるのかが不明だ。

レジストリで詳しくバージョンを調べる

 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の最終版のレジストリでは「BuildLabEx」に「th1_st1」という表記がある

 これから推測するに、TH1の最終版は、現時点では「th1_st1」というリリースだと思われる。なお、KB3105213がインストールされる前の段階では、

10240.16545.amd64fre.th1.150930-1750

だった。

TH1でKB3105213がインストールされる前は、「th1」のみだった

 また、その前には、

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

リリース直後のTH2では、「th2_release」になっている

だが、KB3105211が適用されると、

10586.3.amd64fre.th2_release_sec.151104-1948

となった。つまり、最新版は、「th2_release_sec」(secはSecond、2番目の意味か?)である。また、前半部分は、カーネルのバージョン番号と、Winver.exeで表記されるビルド番号に一致している。

KB3105211が適用されると「th2_release_sec」に名称が変化している

 さて、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」といった表記をしている。

KB3105211では、「Windows10 Version 1511」という表記が行われている


(次ページでは、「来年には異なる系列のアップグレードが登場予定」)

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン