こんにちは、阿久津です。Windows 10無償アップグレードはバージョン「10」、ビルド番号「10240」として提供が始まりました。その後「Service Release 1」こと「Cumulative Update for Windows 10」のリリースによって、多くのシステムファイルが更新されています。

例えば「システム情報(msinfo32.exe)」では、(OSの)バージョンは「10.0.10240 ビルド10240」であり、ハードウェアアプストラクションレイヤーは「10.0.10240.16392」であることが確認できます(図01)。

「システム情報」でWindows 10のバージョンを確認

後者のHALはOSに欠かせない抽象化コンポーネントとしてWindows NTの時代から実装されてきました。Windows 10の祖先にあたるWindows NTは、x86以外にもAlphaやMIPSといった異なるCPUアーキテクチャでの動作をサポートしています。このハードウェア依存部分を吸収するために存在するのがHALでした。

他方でこれらの情報はレジストリで管理されているため、操作に慣れた方であれば「reg.exe」の検索機能を思いつくことでしょう。検索対象をHKEY_LOCAL_MACHINEとして、キーワードを「10240」として検索したところ、多くのコンポーネントが持つバージョンも検索にヒットするため、実用的ではありません(図02)。

「reg query HKLM /f "10240" /d /s」の実行結果。各コンポーネントのバージョンも検索にヒットするため、さらなる絞り込みが必要となります

そこで今週はレジストリからWindows 10のバージョンを確認する方法を紹介しましょう。

1. 管理者権限でレジストリエディターを起動します。
2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersionキーを開きます。
3. 文字列値「BuildLabEx」などを確認します。
4. レジストリエディターを終了させます。

これで作業は完了です(図03~04)。

図03 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力して<OK>ボタンをクリックします

図04 レジストリエディターが起動したら、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersionキーを開きます。文字列値「BuildLabEx」のデータを確認してください

各エントリーの見方を紹介しましょう。DWORD値「CurrentMajorVersionNumber」および「CurrentMajorVersionNumber」はそれぞれ「現在のメジャーバージョン番号」と「現在のマイナーバージョン番号」を意味し、他のプログラムがバージョン番号を参照する際に用います。

文字列値「BuildLabEx」は「ビルド情報」を表します。執筆時点の「10240.16412.amd64fre.th1.150729-1800」と記されており、ビルド番号が「10240.16412」、「amd64fre」から64ビット版であることがわかります。なお、32ビット版の場合は「x86fre」と表示されます。「th1」の意味は不明ですがWindows 10の開発コード名である「Threshold」に由来しているのではないでしょうか。そして最後の「150729-1800」は、現在の状態が2015年7月29日18時にビルドされたことを表します。

Microsoftの技術資料であるコンポーネントバージョン管理.aspx)に沿って説明しますと、執筆時点のWindows 10のメジャー+マイナーバージョン番号は「10.0」、ビルド番号は「10240」、リビジョン番号は「16412」と判断すればいいでしょう。

このように現在のバージョンおよびビルド番号を確認する際は文字列値「BuildLabEx」を参照するのが一番手軽です。なお、コマンドラインから操作する場合は「reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v BuildLabEx」と実行してください(図05)。

図05 コマンドラインから確認するには、コマンドプロンプトを起動して「reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v BuildLabEx」と入力したら[Enter]キーを押します

それでは、また次号でお目にかかりましょう。

阿久津良和(Cactus)