自作PCユーザはいつXPからWindows 7に乗り換えるべきか

Windows 7が発売されて(執筆時点で)4カ月ほど経った。自宅にある自作PCはすべてWindows XPで運用していて(今でも)大きな不満はないものの、最近「最低でも1台はWindows 7に移行するべきか」と思うようになった。その理由は後述するとして、自分がOSに求めるものは大きく分けて以下の3つがあげられる。

  • そのPCで使用したいソフトウェアが正常に動作すること
  • そのPCに搭載されているハードウェアがきちんと動作すること(ドライバなどが提供されること)
  • そのOSが安定動作し、セキュリティfixがおこなわれること

XPが発売されて8年ほど経つが、後継OSのVistaが発売されてもなおXPは上の項目をほぼ完全に満たしてきたと記憶している。今まで自分の環境でVistaに見向きもしなかった理由もそこで、(Vistaの出来云々の前に)そもそも必要を感じたことが無かったから。現在公開・発売されるWindowsソフトは特殊な場合(例としてはDirectX 10関係など)を除きほぼ間違いなくXPで動作するし、XPで動作しないハードというのもまずない。さらにXPはホームユースのHome系も延長サポートが適用されるようになったので、セキュリティfixのサポートも(Businessを除くVista以上の期間の)2014年まで安泰ということになっている。したがって、少し前までは「今のところWindows 7を導入する意義は非常に薄い」と考えていた。

ところが最近、そのXPにも所々不満を感じるところが出てきた。(前々から感じていたものも含む。)「互換性や安定性」という点ではほぼ文句の付けようがないXPだが、逆にその古さが原因で新しいハードウェアへの対応具合が万全とは言い難くなってきたように思える。個人的に感じているのは以下のもの。

SATA HDDへの対応

これは非常に有名な話なので今更説明する必要もないが、XPは最新のサービスパックを当ててもSATA HDDのドライバが標準では含まれていない。ただ単にSATA HDDを接続しただけではインストーラから認識できないので、OSをインストールするときはSATAドライバ入りのフロッピーを作成し、インストールの最中にF6を押してAHCI(かRAID)ドライバを組みこまなくてはならない。恐らく(ある程度年季が入った)自作ユーザならFDDぐらい持ってるだろうが、ドライブどころかメディアの生産終了も着々と進んでいる以上、そろそろ利用機会が極端に減ったFDにご退場願いたいという印象も強い。

もちろんFDを使わなくても済む方法もあって、例えば

  • BIOSでSATA設定をATA互換モードに変更して運用する
  • インストール時だけATA互換モードにして、ドライバをインストール後AHCIモードに変更する
  • XPのインストールディスクをカスタマイズし、SATAドライバをCD内に含める

などの手段があるが、HDDのパフォーマンスを生かせなかったり、トラブルの原因になったり、カスタマイズディスクを作るのが結構大変だったりとデメリットも無視できない。これはクリーンインストールする初回だけの問題だが、機会があるたびに面倒だと感じている。Vista以降ならOSにドライバが最初から含まれているため、こんなことを気にする必要は最初からない。また、今やほとんどのM/BメーカはFDD以外からBIOSなどの書き換えをおこなえるツールを用意しているので、3.5インチベイにぶら下がっているFDDにも本格的にご退場願えるという利点もある。

今後の大容量HDDやSSDへの対応

大容量かつ低価格で最近話題のWD20EARSなどのWestern Digital HDDの一部モデルは、そのままXPで使用するとパフォーマンスがフルに出ないという現象がある。これは別に不具合やバグではなくて、メーカから正式に告知されている仕様になっている。

「旧世代」に含まれるWindows XPで使う際は、本体ジャンパピンの操作や、同社Webサイトで配布されているユーティリティ「WD Align utility」を実行しなければ「フルパフォーマンスを発揮しない」(同社)と されているので要注意。

Windows XPでは再設定が必要な1TB HDDが発売

その原因は、新型の大容量HDDの物理フォーマットが今まで一般的に使われてきた「1セクタ=512バイト」から「1セクタ=4096バイト」に変更されたため。内部的には論理フォーマットを「4096バイト×1セクタ」から「512バイト×8セクタ」へエミュレートしているので使用自体には別に問題はないが、XPでフォーマットすると物理フォーマットと論理フォーマットにズレが生じて無駄なオーバーヘッドが生じてしまう。

Windows XPでは最初のパーティションが63セクタ目 (512Byte×63セクタ)から記録されますが、 内部的に4096Byte(512Byte×8セクタ)毎にデータを 管理・記録するAdvanced Format Structure対応HDDで、 63セクタ目は

512*63/4096=7.875

となり、割り切れません。つまり、パーティションが 物理領域の途中から始まる事になり、オーバーヘッド により性能が低下する事になります。 (パーティションアラインメントが物理セクタとあわない)

きじばと日記: Western Digital Advanced Format Structure/新物理フォーマットを解説

わざわざ互換性を犠牲にしてまで新フォーマットを採用した理由は、古典的な1セクタ=512バイトが時代にそぐわなくなったのと、512バイトごとのECC(エラー修正符号)データ量が高密度HDD(プラッタ)によりとても無視できない状態になってきたからとのこと。

これがWestern DigitalのHDDだけの話なら「WDを避ければいい」あるいは「素直にツールでフォーマットするかジャンパピンを使えばいいだろ」という処理の仕方もできるが、これから先は他社も同じように4096バイトセクタを採用するという流れのようだ。

なお、HDDの業界団体であるIDEMA(International Disk Drive Equipment and Materials Association)でも、将来のストレージの大容量化に向け4,096バイトセクタを「BigSector」として提唱しており、2011年に移行することを発表している。

実容量が2TB超のHDDを開発するためにも512バイト超セクタは必須で、今後は4,096バイトセクタが主流になるのは確実。4,096バイトセクタをサポートしない32bit版のWindows XPなどのユーザーは、今後は特に新製品のHDDを購入する際には注意が必要だろう。

Windows XPでは再設定が必要な1TB HDDが発売

XPのシェアを考えればHDDベンダーが何も対応しないという事態はまずないだろうが、今回のWDと同じように特別フォーマッタを使うなどの一手間二手間辺りは恐らく必要になると思われる。なぜならこれは設計の古さから来る「XPの仕様」問題で、HDDそのものの問題とは言いづらいからだ。すでに通常サポートが終わって(セキュリティfixが主になる)延長サポートに入っているXPに、マイクロソフトから公式対応パッチがリリースされる可能性はおそらく低い。

Windows XPの「2TBの壁」問題

さらにXPはかなりマイナーなx64 Editionを除き、2TB以上のHDDが扱えないという2TBの壁問題があり、データドライブとしても2TB以上のHDDをフルに使用することができない。(2TBまでは使える。)現在はまだ単品で2TBを超えるHDDは発売されていないため、RAIDを組まない限りは2TBの容量を超える状態になることはないので大した問題にはなっていないが、より大容量の2.5TBぐらいのHDDが発売されたらメモリの3GBの壁と同じように制限によるトラブルが顕著化してくると思われる。(1000バイト = 1キロバイトで計算しているので、2TBのHDDをフォーマットしても1.8TBぐらいにしかならないのが理由。)

2TBの壁を簡単にまとめると以下の通り。

  • XP 32bit:基本的に使用不可(使えても2TBまで)。
  • XP 64bit:データドライブのみ使用可能。
  • Vista 32bit:データドライブのみ使用可能。
  • Vista 64bit(SP1以降):OS起動・データどちらも可能。ただしOS起動用には、EFI(次世代BIOS)搭載マザーボードが必要。

大容量ハードディスクのRAIDは2TBの壁に注意 ドスパラ - 製品レビュー

2TBの壁問題(そもそも何が問題のキモなのか)については以下のページで詳細かつわかりやすく説明されている。

最近は(主にシステムドライブで)SSDが普及しつつあるが、大容量で低価格のストレージデバイスとしてはまだしばらくはHDDが主流ではあるのは間違いない。また、そのSSDも完全に対応し始めたのはWindows 7からで、XPで(寿命やパフォーマンスを考慮して)使用するにはカスタマイズが必要になる。

難しいことを考えず(そう遠くない)将来のストレージ環境に備えるなら、XPでは時代後れ(力不足)と考えても差し支えない状態だろう。

そろそろ3GBの壁を突破したい(64bitに移行したい)

これは直接Windows 7とは関係ないが(別にVistaでも64bit版はある)、これから新規にWindowsを買うとなればわざわざVistaを選ぶ必要性は何もないので、自動的にWindows 7になるという話。

前の項目でも少し触れたが、4GB超のメモリを普通に搭載できる状況になって3GBの壁の問題はかなり周知されるようになった。昔このブログの記事を書いたときはまとまった情報を探すのはかなり難しかったが、現在は4GBメモリを積んでも一般的に使われる32bit Windowsでは3GBまでしか認識しない(使えない)という注意書きはそこら中で見られるようになったし、解説記事やページも相当増えた。ただ注意書きが増えたからといって別に問題が解決したわけではなく、使えないのを意識しつつ見て見ぬ振りをするか、Gavotte RamdiskでRAMディスクとして使うぐらいしか利用方法がなかった。

ただ2010年現在ハードウェア側の対応はかなり変わり、新規に一台組む、あるいは比較的新しいパーツを流用するという状態なら「ハード側の3GBの壁」はほとんど取り払われたと言ってもいい。販売されているほとんどのM/Bは4GB超のメモリ容量をサポートするようになり、CPUも低電力版などの一部のラインナップを除けば64bit(x64)に対応している。残る問題はほぼ「OS(Windows)の対応のみ」となった。つまり3GBの壁を越えるには「64bit Windowsに乗り換えればOK」という単純な構図と言える。

もちろん64bit Windowsに乗り換えれば単に3GBの壁を破って4GBをフルに認識させられるようになるだけではなく、エディションによるがそれ以上に搭載することも可能になる。(下に一覧を引用。)ネット上の報告を見ていると、2010年初頭辺りだと2GB×4枚で計8GBを搭載するという場合が多いようだ。

Windows 7のメモリの搭載限界量仕様一覧

Starter には 64 bit 版が存在しません。Home Premium は最大 16 GB、Professional と Ultimate では 192 GB 以上 (事実上の無制限) となっています。

Windows 7 の 32 bit 版と 64 bit 版の違い - Windows Live

Windows 7 64bit版への対応状況

実際にWindows 7の64bit版に移行するとなると、気になるのはハードとソフトの対応状況。自分の場合はどうかと調べてみると、以下のような結論になった。

まずハード(周辺機器)側だが、Vistaから(普及したとは言い難いが)64bit版がXPの頃と違って普通に併売されるようになったため、大手メーカの周辺機器のドライバは64bitへの対応がそれなりに進みつつある。Windows 7対応の64bitドライバがあればそれをそのまま導入すればいいし、少し古めのハードでも内部的にVistaのマイナーアップデート版の7ならVistaのドライバがあればそのまま使える可能性が高い。

ただしマルチメディア系、つまりビデオキャプチャや一部のサウンド関係など標準のドライバが使えず、さらにXPまでの対応で終わってるような古いハードだと使える見込みは薄い。この辺りのハードは、Vistaからハードウェアとドライバの挙動や扱い大きく変わってしまったのが原因のようだ。

また、Vista用のドライバ用意されていても32bit版を64bit版に流用することは基本的にできないので、「Vistaのドライバがある!」とぬか喜びしないようにも気をつけたい。(無理矢理インストールして使えることもあるらしい。)

自分の環境で調べたところ、「Windows 7の64bitドライバはメーカ側で用意されていない」というものは比較的多かったが、「OS標準のドライバを使えばいい」「Vistaの64bit版ドライバを流用できる」というものを除外していくと非対応のハードはほとんど残っていなかった。残ったのはほとんど「XPまでのドライバしか用意されてない」というタイプだったが、そんな古いものはそもそも全然使っていなかったり、別のもので代用できるという状態で特に困るようには感じられなかった。(それにどうしても使いたかったら別のXPマシンに接続して使えばすむ。)

次はソフト側の対応。

勘違いしがちだが、64bit版のWindowsにはWOW64という32bitアプリケーションのエミュレート機能が存在して、多くの32bit版ソフトがそのまま動作する。この機能で旧来のソフトウェアがそのまま動作するならば、別にx64(64bit)版が用意されていないからとあきらめる必要はない。(もちろんx64版がリリースされているなら、そちらを使った方がより高速かつ安定して動作する可能性が高い。)ただこれは32bitアプリケーションがそのまま(エミュレートされて)動いているだけなので、別に64bit Windowsを使ったからといって動作が速くなったり、メモリが大量に使えるようになるわけではないという点は抑えておいた方がいいだろう。

具体的に自分が使っているソフトが使えるかどうか調べるには、Windows 7での動作報告が集まっているサイトで調べるのが一番手っ取り早い。特に以下のサイトは、動作報告が32bitなのか64bitなのか一目瞭然でわかりやすかった。

ざっと調べた限り、想像以上に「そのまま使えるソフトが多い」という印象だった。かなり古いものでも動作報告があがっているものがあるし、中にはVistaでは動かないが7だと動くというよくわからないものもあるようだ。ただ同じWindows 7の同じバージョン(64bit版)でも「動く」と「動かない」という両方の報告がある項目も多いので、中のテキストや報告数をきちんとチェックした方が良いだろう。

XPは優れたOSだが、さすがに古さが目立つようになってきた

一番最初に書いたとおり、最近まで特にXPに不満を持つことはなかった。過去や現行のハードが動作し、ほぼすべての現行のソフトウェアが普通に動作し、未だサポートされ続けているOSに不満を覚える余地はなかったからだ。「OSという裏方の作業」は十二分にこなしていると言える。(そしてそれは「Vistaに大して興味を持たない」という形でも現れていた。)

ただいかんせん発売されて8年も経った関係上、「新しいハードウェアのサポート」という点ではどうしても見劣りするようになった。上であげた理由のすべては、すべてハード絡みであることからもそれがわかる。最新のハードを生かすためにはやはりモダンなOSが必要で、特に「今売ってる(ある程度)旬のパーツ」で構成されることが多かったり、拡張が容易で新しいパーツを組み込みやすい自作PCにはXPで対応するのが難しくなってきたということではなかろうか。

個人的には(複数のPC環境がある関係もあって)「今すぐWindows 7環境を整えても別に問題はない」と考えるようになった。ハード・ソフトとも(こう言っては何だが)「Vistaという準備期間」のおかげでずいぶん環境は整ったし、64bit版でも多くのソフトがそのまま動作するようだ。使えなくなったパーツは別のXPマシンで使用すれば無駄にはならないし、逆に新しいパーツはWindows 7の方に組み込めば面倒な手順を踏まなくてすむようになる。

ただ逆に1台のマシンしかなく、「そのPCでソフト・ハード動かないとどうしようもなくなる」という状態ならまだ時期尚早という印象はある。また、これはあくまで個人の環境に大きく左右される話で、「どうしてもこれが動かないと困る」というものがWindows 7に対応してないならば、(少なくとも今現在は)諦めるしかないというのもまた妥当かもしれない。