元麻布春男の視点失敗しないWindows 2000のインストール手順 |
筆者はいまだに仕事マシン(原稿を執筆するためのマシン)では、Windows 98 Second Editionを使い続けているが、ベンチマーク・テストや動作検証などの目的でWindows 2000のインストール作業を行うことも少なくない。このコラムを読んでいる方で、Windows 2000を利用している、という人はかなり多いのではないかと思うのだが、正しくインストールできているだろうか。今回は、Windows 2000のインストールについて考えてみる。
正しい順番でインストールするのは難しい?
「Windows 2000のインストールができるかなんてバカにしちゃいけない」と思われるかもしれないが、よく考えるとWindows 2000のインストールは、結構やっかいなものだ。現在Windows 2000をインストールするとなると、OS本体に加え、Service Pack 1(SP1)、DirectX 8a、各種のデバイス・ドライバ、そして新しいチップセットならINFファイル*1のアップデートも行わなければならない。場合によっては、「Hot Fix」と呼ばれるパッチを当てることも必要になる。これらを、すべて正しい順番で組み込むことは、思ったよりも大変な作業だ。
*1 ここで言うINFファイルとは、チップセットなどのハードウェアをOSに正しく認識させるのに必要な情報(デバイスの名称やそのID、ドライバのファイル名など)を記したテキスト・ファイルのこと。拡張子が「.INF」であることからINFファイルと呼ばれる。 |
ここで重要なのは、「正しい順番」ということだ。OSのインストール後に組み込まなければならない上記の各モジュールは、組み込む順番によって性能が変わる可能性があるからだ。VIA TechnologiesやSiS、ALiといったサードパーティ製のチップセットでは、動作が安定するかどうかの分かれ目になることもある。以下の画面は、2001年2月下旬に開催されたインテル主催の開発者向けイベントのIDF 2001 Springで、Pentium 4の性能をフルに引き出すにはどうすればよいのか、を述べた「Integration Solutions for Intel Pentium 4 Processors in ATX Family Platforms」というセッションのプレゼンテーションから抜き出したものだ。これには、ドライバを含む各モジュールを組み込む順番で性能に影響が表れる、ということが述べられている。
もう1つこの画面で注目されるのは、Service Pack 1を先に、次にINFの更新を行うように順番を指定していることだ。INFのアップデートは、「Intel Chipset Software Installation Utility」*2と呼ばれるソフトウェアの組み込みによって行う(Intelの「Intel Chipsets Drivers and Utilitiesのホームページ」。一般には、この作業を行うことで、それまで「PCI標準ホストCPUブリッジ」のような形で認識されていたノースブリッジなどが、正しいチップセット・ベンダや型番を反映したものに更新されるため、このユーティリティは「INFパッチ」とも呼ばれる。Service Pack 1よりINFのアップデートを後にせよ、ということは、性能差がチップセット(特にノースブリッジ)にかかわるものであることを示している。
*2 これはIntel製チップセット専用のソフトウェアである。その他のベンダ製チップセットについては、本記事末尾の関連リンクを参照していただきたい。 |
ドライバの組み込み順で性能が変わる
では、本当にドライバの組み込み順で、性能は変わるのか? それを確認するため、以下の表のようなシステムでテストを行った。まず正しいドライバの組み込み順によるシステムは、通常どおりWindows 2000をインストールした後、Service Pack 1、INFパッチ、DirectX 8aランタイム、各デバイス・ドライバの順に各ソフトウェアを組み込んでいった。一方、誤った手順による例としては、Windows 2000のインストールに続いて、INFパッチ、DirectX 8aランタイム、Service Pack 1、各デバイス・ドライバの順にソフトウェアを組み込んだ。
PCのハードウェア仕様 | |
プロセッサ | Pentium 4-1.4GHz |
マザーボード | Intel製 D850GB |
メモリ | 256Mbytes PC800 RIMM(128Mbytes RIMM×2) |
グラフィックス・カード | Leadtek Research製 WinFast GeForce2 GTS(64Mbytes DDR SDRAMを搭載) |
サウンド・カード | Labway製 Xwave 6000(ヤマハ製コントローラ・チップ YMF744B搭載) |
イーサネット・カード | インテル製 PRO/100+マネージメント・アダプタ |
ハードディスク | IBM製DTLA-307030(30Gbytes UltraATA/100) |
DVD-ROMドライブ | クリエイティブメディア製 Creative PC-DVD 12x |
ソフトウェアとそのバージョン | |
BIOS | P10-0056 |
ディスプレイ・ドライバ | NVIDIA Ver. 10.80 |
ATAドライバ | Intel ATA Storage Driver Ver. 6.10.006 Beta Candidate 2.0 |
サウンド・ドライバ | Yamaha Ver.2225 |
イーサネット・ドライバ | Windows 2000標準 |
追加モジュール | |
Service Pack | Windows 2000 Service Pack 1 |
DirectX | DirectX 8a |
INFパッチ | Intel Chipset Software Installation Utility Ver 2.80 Production Release Build 010 |
テストに用いたシステム |
この2つの設定で、3DMark2000と3DMark2001という2種類の3Dグラフィックス系ベンチマーク・テストを行ってみた(MadOnion.comの製品情報ページ:3DMark2000、3DMark2001)。テストに3DMarkを用いたのは、AGPによるアクセスも含め、ノースブリッジ(メモリ・コントローラ)に対し、比較的負荷の高いテストであると考えられるからだ。その結果は以下の表を見れば明らかだ。組み込み順の違いで、3DMark2000で10%以上、最新の3DMark2001にいたっては、性能が2倍も違うという結果になった。3DMark2001の方が性能差が大きく表れたのは、テストが用いるテクスチャ*3の量が増大し、AGPに対する負荷が高まっていることが挙げられる。それに加え、SSE2(ストリーミングSIMD拡張命令2)に対応したことでPentium 4/Intel 850プラットフォームが提供するメモリ帯域を有効に利用できるようになった、言い換えればメモリ帯域の性能に敏感になったことも原因ではないかと思われる。そういう意味では、すべてのアプリケーションで2倍の性能差が表れるわけではないが、将来に向け潜在的にはこうした性能差が表れる可能性があることを、心にとめておいた方がよいだろう(実際、SSE2に対応したアプリケーションは現状では少ない)。また、このテストはPentium 4/Intel 850プラットフォームでの結果であり、Pentium IIIやCeleron、AMD Athlon、Duronなどが同じような結果になるとは限らない点にも注意したい。
*3 テクスチャとは、3Dグラフィックスで表示される物体の質感を表現するために、その表面に貼り付けられる模様の画像データのこと。一般的に、質感をリアルに表現しようとするほど、テクスチャの数や容量は増加する。 |
3DMark 2000
|
3DMark 2001
|
|||
表示色数 |
16bitカラー
|
32bitカラー
|
16bitカラー
|
32bitカラー
|
正しい組み込み順*4 |
6968
|
5051
|
3813
|
3319
|
誤った組み込み順*5 |
6206
|
4505
|
1792
|
1647
|
性能低下率 |
89%
|
89%
|
47%
|
49%
|
イントール順の違いによるテスト結果 | ||||
3DMarkは、MadOnion.comの開発した3Dグラフィックスに特化したベンチマーク・テスト。数値が大きいほどグラフィックスの性能が高いことを表す。テスト時の画面解像度はすべて1024×768ドット。また3DMark2001の設定はアンチエイリアスを無効としている。ディスプレイ・ドライバのレジストリ設定はデフォルトのままだ。 *4 Service Pack 1 → INFパッチ → DirectX 8a → 各デバイス用のドライバの順 *5 INFパッチ → DirectX 8a → Service Pack 1→ 各デバイス用のドライバの順 |
性能向上をもたらした原因は?
以上のような性能差をもたらしたものは、ノースブリッジのドライバではないかと考えられる。ついINFパッチという通称を使ってしまうが、正式名称が示すように、「Chipset Software Installation Utility」は、INFファイルの更新だけでなく、ノースブリッジ・ドライバの更新を行っている可能性がある。最適な性能を得るには、常に最新のChipset Software Installation Utilityを用いる必要がありそうだ。たとえチップセットが正しく認識されている場合でも(INF自体は更新する必要がなくても)、新しいバージョンのChipset Software Installation Utilityを実行することで、性能が向上する可能性がある。
と同時に、このテストでService Packの問題点も浮かび上がってきた。ご存じのようにDirectXは、インストール時に新しいファイルが見つかった場合、DirectXのパッケージに含まれているファイルで更新するかどうか、ユーザーに聞いてくる。しかし、どうやらService Packは、新しいファイルがあっても、問答無用で書き換えてしまうようだ。だからこそ、組み込み順が重要になってくるわけだ。Service Packを組み込んだら、かえってシステムが不安定になった、という笑えない話も、根拠のないことではないことが分かる。
テストをしてもう1つ気になったのは、正しい順番でドライバの組み込みを行おうと、誤った順番でドライバの組み込みを行おうと、Windows 2000上の[デバイス マネージャ]で見る限り、両環境の区別がつかなかったことだ。いずれの手順においても、Processor To I/O Controller(850.INF)、Processor To AGP Controller(850860.INF)ともにバージョンは2.50.001で、差がないのである。本来であれば、Chipset Software Installation Utilityのバージョンを反映して、正しい手順での組み込みを行った場合は、2.80.010にならなければいけないと思うのだが、そうした配慮がなされていないため、自分が正しいドライバを用いているかどうかを、Windows 2000上の[デバイス マネージャ]の情報で判断することができない。
基本はService Packのインストールから
今回はService PackやINFパッチの組み込み順が性能に影響することを見てきた。中にはこんなことは当たり前だと思っている人もいるかもしれない。しかし、今後Service Pack 2が登場したら、そしてDirectX 9が登場したら、それでも間違えずに、システムを最適な状態に保ち続けられるだろうか。ここで示した「正しい手順」はあくまでも、現時点での正しい手順であって、将来にわたって正しいという保証はない。もちろん、Service PackよりChipset Utilityの方が更新頻度が高いことを考えると、現実的には大丈夫かとも思うが、その保証はないのだ。何が正しい手順であるかを確実に調べるには、実際に組み込み順を変えて、ベンチマーク・テストを行うしかないが、Service PackにしてもChipset Utilityにしても、実際に運用しているマシンに対し、何度もインストール/アンインストールを繰り返したくなるような種類のものでないことは確かだ(インストールの順番を間違った場合、Windows 2000のインストールからやり直さなければならない)。
マイクロソフトがこうした問題が起きないように、Windowsのパッケージをアップデートして提供すればいいのだが、頻繁にリリースされるハードウェアに合わせてWindowsのパッケージを提供することは現実的ではない(パッケージの種類が増えて、別な混乱が起きそうだ)。とりあえず、Service
Packの後に、INFファイル、DirectXの順にインストールするという基本を押さえておこう。
「元麻布春男の視点」 |
- Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう - 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は? - IoT実用化への号砲は鳴った (2017/4/27)
スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか? - スパコンの新しい潮流は人工知能にあり? (2017/3/29)
スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
|
|