TYAN S2865G2NR Tomcat K8E2005年に発売された、PCI Express対応チップセットであるNVIDIA nForce 4 Ultraを搭載するSocket 939対応マザーボード。この世代のマザーボードは対応CPUがCMPXCHG16b命令とLAHF/SAHF命令をサポートしないため、Windows 8.1・10のx86版は問題なく動作するがこれらの命令のサポートを必要とするx64版はインストールできず動作もしない。

あなたのマシンは大丈夫? ~Windows 10はどの位古いマシンまで動作するのか?~ 前編

  • このエントリーをはてなブックマークに追加

by [2015年7月21日]

Windows 10 Insider Preview build 10162 初期画面

Windows 10 Insider Preview build 10162 初期画面

先日、Windows 10 Insider Preview build 10162を手持ちマシンにインストールしたときのことです。

このときは一番まともにインストールできそうだ、ということでLGA 1366のXeonマシンへのインストールとなったのですが、実は筆者はその後、ふとした思いつきからISOイメージファイルの中身を書き込んだインストールDVDをその他の手持ちマシンに突っ込んでは電源を入れ、インストール作業を行いテスト後、マザーボードその他を交換しマシンの構成を変えて再挑戦、という作業を延々と繰り返していました。

前回の記事ではその辺の話を省いていたのですが、この新OS、Windows 7やWindows Vista、それにWindows XPの64ビット版(x64版)で動作していたマシン/マザーボードでもインストールや動作ができないものが少なからず存在しているのです。

そこで今回は、どんなマシンならばWindows 10 Insider Previewが動作するのか、考えてみたいと思います。

どのくらい古いマシンで動くのか

Windows 10 Insider Previewダウンロードページ

Windows 10 Insider Previewダウンロードページ

まず最初に、開発元であるマイクロソフト自身がどのような動作環境を条件として提示しているのかを見てみることにしましょう。

Windows 10 Insider Preview版のダウンロードページを改めて確認すると、

・CPU: 1 GHz 以上
・メモリ: 1 GB (32 ビット) または 2 GB (64 ビット)
・ハード ディスクの空き容量: 16 GB
・グラフィックス カード: Microsoft DirectX 9 グラフィックス デバイス (WDDM ドライバー付き)
・Microsoft アカウントとインターネット アクセス

という条件が挙げられていて、さらにシステム要件ページを確認すると、互換性の項目で

 「Insider Preview は、Windows 8.1 の動作環境と同じデバイスやプログラムを使って動作するように作られています」

と明記されていました。

Intel Pentium III 800MHzこの世代のCPUはWindows 8 x86版の3つの動作要件の内、SSE2とNXビットをサポートしないため、Windows 8.1・Windows 10でも当然のように対応しない。

Intel Pentium III 800MHz
この世代のCPUはWindows 8 x86版の3つの動作要件の内、SSE2とNXビットをサポートしないため、モデルごとに設定されたCPUコアの動作クロック周波数に関わりなくWindows 8.1・Windows 10が当然のように動作しない。

ダウンロードページ記載の条件は最低限抑えておくべき基本的な条件で、5つのうち最後の1つはハードウェアには直接関係ないので置いておくとして、ハードに関係のある上の4項目を見ると、これだけならPentium III 1.0 GHz搭載の骨董品みたいなマシンでもグラフィックカードさえDirectX 9.0以降対応でWDDMドライバの提供のある新しめのAGPあるいはPCI対応カードに交換しておけば(体感速度はともかくとして)一応は32ビット版ならば動きそうな印象を受けます。

しかし、実際に筆者がものは試しということで手持ちのTYAN S1837UANG ThunderboltというデュアルSlot 1構成でIntel 440GXチップセットを搭載するマザーボードに、いわゆるCPUソケット変換下駄を介してPentium III-Sを搭載し、PC100 SDRAMを1GB積んだ構成のマシンと、TYAN S2567U3AN Thunder HEslというデュアルSocket 370構成でServerWorks ServerSet III HE-SLチップセットを搭載するマザーボードに、Pentium III 1.0GHz(FSB 133MHz版)を2基、PC133 SDRAMを1.5GB積んだマシンとでWindows 10 Insider Preview build 10162の32ビット(x86)版のインストールを行ってみたところ、いずれもものの見事にインストールに失敗しました。

この辺のマシンはWindows 7のx86版まではそれでも一応OS本体がインストールできて動いていたのですが、そもそもデバイスドライバの提供がなかったりして機能の一部が使えないといったことが珍しくありませんでした。

後述するように、Windows 8.1の前バージョンに当たるWindows 8でさえ搭載CPUが対応しない命令のサポートが必須要件に挙げられたりしていたので、最初から期待はしていなかったのですが、事前の予想通りの結果となってしまいました。

つまり、マイクロソフト自身がダウンロードページで公表していた動作条件を一見全て満たすように構成したはずのマシンであっても、細かい条件を満たさないためにWindows 10 Insider Previewが動作しない/そもそもインストールすら正常に行えない可能性が存在するわけです。

言い換えると、マイクロソフトがダウンロードページで提示していたハードウェア要件は、このOSを動作させるために必要となる条件を完全には網羅していない(※注1)、ということになります。

 ※注1:厳密にシステム要件を確認すると、先に挙げた要件だけではなくWindows 8.1でのハードウェア要件が適用されることが示されています。

先にも触れたようにこの辺の動かなかったマシンでもWindows 7のx86版は制限があったにせよ動作していましたから、動作しない原因、つまりWindows 10 Insider Previewが動作するために必要となるハードウェア条件は、Windows 8かWindows 8.1のいずれかの時に追加されたものということになります。
 

Windows 8のハードウェア要件

Windows 8の公式ハードウェア要件では、CPUについて以下のような条件が示されています。

・CPU: PAE、NX、SSE2 をサポートする 1 GHz 以上のプロセッサ

先のWindows 10 Insider Preview x86版が動かなかった2台の場合、Pentium IIIもその改良版のPentium III-Sも、共に動作クロック周波数は条件を満たしていますが、「NX・SSE2」の2つの拡張命令はそもそもこれらのCPUの開発時点で存在していなかったため当然に対応していません。

つまり、Windows 8での追加条件による2命令の非対応がこれらのマシンでのWindows 10 Insider Previewの動作を阻んでいるということになります。

TYAN S1867DLU3AN Thunder 2500x64対応CPUも対応OSも存在しなかった2000年に発表されたデュアルSlot 1マザーボード。32ビットCPUにしか対応しないためOSで同時に扱えるメモリ容量は最大4GBだが、8本のDIMMスロットを備え対応CPUであるPentium IIやPentium IIIの持つPAE機能により最大8GBのメモリを搭載し利用することが可能であった。なお、左上に2本並ぶ黒いカートリッジ状の物体がCPUのPentium IIIである。

TYAN S1867DLU3AN Thunder 2500
x64対応CPUも対応OSも存在しなかった2000年に発表されたデュアルSlot 1マザーボード。32ビットCPUにしか対応しないためOSで同時に扱えるメモリ容量は最大4GBだが、8本のDIMMスロットを備え対応CPUであるPentium IIやPentium IIIの持つPAE機能により最大8GBのメモリを搭載し利用することが可能であった。なお、左上に2本並ぶ黒いカートリッジ状の物体がCPUのPentium III(SECC2パッケージ Slot1版)である。

なお、命令セットや機能の名前だけ並べられてもよく分からないぞ、という方のために補足しておくと、まずPAE(Physical Address Extension:物理アドレス拡張)は1996年発表のサーバ向けx86系CPUであるPentium Proから既に実装されていた機能です。

これは本来物理メモリでも仮想メモリでも最大4GBまでしか一度に扱えない32ビットCPUであるx86系CPUにおいて、特別な手順を踏むことで4GB以上のメモリ空間へアクセスできるようにするための拡張機能です。

この機能そのものはご存じなくとも、Windows XP時代の末期に一時流行した、Windows XPで認識できないメモリ領域をRAMディスクとして無駄なく利用するためのデバイスドライバがこの機能を利用して実現されている,と言えばご記憶の方も恐らくおられることでしょう。

この機能については、今時のWindowsが動作するクラスのx86系CPUでサポートしていないものは皆無です。

次のNX(ビット)は、ウィルスやクラッカーによるバッファオーバーラン攻撃などへの対策として用意された機能で、NXがNo eXecute、つまり不実行の頭字語であることが示すように、プログラムのバイナリコードとデータを厳密に区分しデータの置かれた特定のメモリ空間をプログラムと見なして実行できなくするための機能です。

この機能の搭載が行われたのは21世紀に入り、ウィルスなどによるサイバー攻撃が問題視されるようになってから、AMDのCPUで最初にx64対応が行われた際の話です。

AMD Athlon XP 2400+x64対応となる以前のAMD製CPUの代表機種の1つ。NXビット未実装のためWindows 8.1・10のx86版は動作しない。

AMD Athlon XP 2400+
x64対応となる以前のAMD製CPUの代表機種の1つ。NXビット未実装かつx64非対応のためWindows 8.1・10は一切動作しない。

そのため、AMDのCPUでもK6やAthlon XPといったx64対応になる前のCPUではこの機能は一切サポートされておらず、これらのCPUを搭載したマシンは当然にWindows 8以降に対応しません。

一方、このNXビット、Intel流にいえばxD(execute Disable)ビットとなるCPUフラグのIntelでのサポートは、Pentium 4でも後期のIntel 64、つまりAMD 64互換の64ビット命令セットをサポートしたコードネームPrescott(プレスコット:2004年発表)系のコアを搭載したプロセッサで初めて行われています。

しかも同じCPUコアでも製品によってこの機能の有効無効がばらつき(※注2)、さらにマザーボードのBIOSによっても動作可否が分かれるため、Pentium 4世代のCPUでの動作は確実には保証できないという、はなはだ厄介な状況になっています。

 ※注2:例えば500番台のPentium 4や300番台のCeleron D、Pentium M、Celeron Mなどでは型番によってxDビットの対応非対応が入り乱れています。なお、Coreシリーズは最初のCore SoloからxDビットに対応しており、Pentium Dも全モデルで対応となっています。

最後のSSE2は、IntelがStreaming SIMD Extensions、つまりストリーミングSIMD拡張命令としてPentium IIIで初採用したマルチメディア拡張命令の第2世代にあたる命令セットです。

このSSE2はPentium 4で初採用され、AMDでもAMD 64でその基本命令セットの一部として採用したため、x64つまりAMD 64あるいはその互換命令セットであるIntel 64のいずれかをサポートするCPUならばどれでも対応している命令セットです。

それゆえ、この命令セットは2003年頃以降発表のx86系CPUであればメーカーにかかわらず大概の機種でサポートされています。

いずれの命令あるいは機能も2015年の時点で市販されているCPUではサポートしていて当然のものばかりといえます。

もっともNXビットはそれまでのx86系プロセッサでは考えられないような機能であったといえ、そのためこれがサポートされていないことが原因でWindows 8非対応となってしまったマシンあるいはCPUは結構な数に上ります。

実は、筆者が今回試した中でも、PAEとSSE2は確実にサポートしているもののxD(NX)ビットをサポートしないSocket 603版XeonおよびSocket 604版Xeon(FSB 533MHz)搭載マシンでx86版Windows 10 Insider Previewのインストールがことごとく失敗しています。

さらに条件が厳しくなった64ビット版Windows 8.1

Windows 8.x系最新のWindows 8.1ではx64版限定ですが以下のようにさらに条件が厳しくなっています。

・64ビットPCに64ビット版OSをインストールする場合、プロセッサがCMPXCHG16b、PrefetchW、LAHF/SAHFをサポートしている必要があります

このため、x64版についてはPentium 4は最終期のごく一部を除く大半がAMDの3D Now!命令セット由来のPrefetchW命令と仮想化で用いられるLAHF/SAHF命令をサポートしないことが原因で動作せず、CPUソケットがLGA 771になる以前のXeonも同じ理由で全滅となってしまっています。

一方、AMDのCPU/APUの場合はWindows 8での3要件は少なくともCPUのハードウェアレベルでは2003年発表のAMD 64対応CPU、つまりAthlon 64やOpteron以降の製品ならば基本的に全て満たしているため、Windows 10でもx86版ならばメーカーの事業撤退で重要な機能の改良を行われないままBIOS更新が放置されてしまったためにWindows 7ですら動作しなかったRIO WORKSのHDAMD(Socket 940デュアル)のような不運な製品を除くと、よほどのことがない限りは動作します。

TYAN S2865G2NR Tomcat K8E2005年に発売された、PCI Express対応チップセットであるNVIDIA nForce 4 Ultraを搭載するSocket 939対応マザーボード。この世代のマザーボードは対応CPUがCMPXCHG16b命令とLAHF/SAHF命令をサポートしないため、Windows 8.1・10のx86版は問題なく動作するがこれらの命令のサポートを必要とするx64版はインストールできず動作もしない。

TYAN S2865G2NR Tomcat K8E
2005年に発売された、PCI Express対応チップセットであるNVIDIA nForce 4 Ultraを搭載するSocket 939対応マザーボード。この世代のマザーボードは対応CPUがx64対応だがCMPXCHG16b命令とLAHF/SAHF命令をサポートしないため、Windows 8.1・10のx86版は問題なく動作するがこれらの命令のサポートを必要とするx64版はインストールできず動作もしない。

しかし、AMD 64対応CPUでも初期のSocket 940、Socket 754、それにSocket 939に対応する各モデルでは、CMPXCHG16b命令とLAHF/SAHF命令をサポートしていないためにWindows 8.1 x64版は動作せず、つまりWindows 10でもx64版は対応しないということになります。

実際、筆者が念のためCMPXCHG16b命令未対応とされるSocket 939版のAthlon 64 X2 4200+を搭載する古めのマシンでWindows 10 Insider Previewのインストールを試したところ、x86版では特に問題なくインストールが完了しましたが、x64版ではメインメモリを4GBに増設しようがグラフィックカードを交換しようが関係なしにインストール初期の水色の「窓」が表示されているところでDVDの読み込みが止まり、インストール作業がそこで固まってしまいました。

つまり、この世代のAMD製CPUではWindows 10 Insider Preview(およびWindows 8.1)のx64版はマイクロソフトの示すハードウェア要件のとおりに、CPU自体がハードウェアの必要条件を充足していないためインストールできないということになります。

従って、Windows 10のx64版をAMD系CPU/APU搭載マシンで動かしたい場合は、Windows 8での追加3命令/機能に加えWindows 8.1で追加されたこれら3命令を全てサポートするSocket FやSocket AM2以降に対応のプロセッサが必須となります。

Socket 940・754・939対応CPUやx64対応のPentium 4でも一部のモデルを搭載したマシンでは、Windows 8.1・10のx64版をインストールしようとするとこの画面から先へ進まなくなるなどして、インストールそのものができない。

Socket 940・754・939対応CPUやx64対応のPentium 4でも一部のモデルを搭載したマシンでは、Windows 8.1・10のx64版をインストールしようとするとこの画面から先へ進まなくなるなどして、インストールそのものができない。

このあたりのハードウェア要件については、今時のWindows 8.1 Readyな新しいマシンを使っている分には全く気にする必要がないのですが、Windows XPやWindows Vistaのx64版をインストールしたマシンを導入し、そのままメモリ増設やグラフィックカードの換装などを行いつつWindows 7のx64版へアップグレードして使っているようなユーザーだと、「Windows 10を入手する」のアイコンが出ていても、Windows 10のx64版はそもそもインストールすらできないといった状況となってしまう可能性があるということで、特に注意が必要です。

後編へ続きます。

▼参考リンク
システム要件 – Microsoft Windows
PAE、NX、SSE2 とは – Windows ヘルプ

タグ:
PageTopへ