システムに4Gbytes以上の物理メモリを搭載しても、32bitのクライアント向けWindows OSでは利用できない。CPUの持つPAE機能を利用し、さらにOSやアプリケーションが対応すると、4Gbytes以上のメモリを利用できるようになる。システムによってはPAEサポートが自動的に有効にならないことがある。このような場合はブート設定を変更して、強制的にPAEサポートを有効にできる。
対象OS:Windows 2000/Windows XP/Windows Server 2003/Windows Vista/Windows Server 2008
現在のx86アーキテクチャのCPUでは、ハードウェア的には36bitの物理アドレス空間(64Gbytes)をサポートしている。元々のx86アーキテクチャでは32bitの物理アドレス空間(4Gbytes)しかサポートされていなかったが、Pentium Pro以降では、PAE(Physical Address Extension、物理アドレス拡張)やPSE(Page Size Extension、ページ・サイズ拡張)といった技術を導入することにより、4Gbytes以上のメモリがサポートされている。だが32bit版の(主にクライアント向けの)Windows OSでは、基本的には4Gbytesまでの物理メモリしか扱えないようになっている(実際のシステムでは、デバイスのリマップなどにより、より少ない3Gbytes強しか利用できないことがある)。
だが最近ではより多くのメモリをシステムに搭載できるようになったので、PAE(やPSE)サポートを有効にして、より多くのメモリを使うことが現実的になってきた。このようなシステムでは、強制的にOSのPAEサポートを有効にすることにより、4Gbytes以上の領域に存在するメモリをPAE対応のアプリケーションから利用できるように設定することができる。本TIPSでは、その方法について解説する(64bit OSではPAEは利用されないので、このTIPSを利用する必要はない)。
なおOSのPAEサポートを有効にしたからといって、個々の32bitプロセスのアドレス空間などが32bit以上に拡大されるというわけではない。PAE対応のAPI(AWE API)などを利用する場合にのみメリットがある。またWindows XP SP2以降やWindows Vistaなどでは、メモリが4Gbytes以上実装されていたり、ハードウェアDEP(「Windows XPのデータ保護機能DEP」参照)が有効なら、自動的にPAEが有効になっているはずである。PAEの動作テストや別稿の「RAMディスク導入ガイド」のようなソフトウェアを動作させるために、メモリが少なかったり(デバイスのリマップによって、実際よりも少なく認識される場合も含む)、自動認識が失敗したりする場合などに、強制的にPAEサポートを有効にさせたいときに利用できる方法である。
Windows 2000/Windows XP/Windows Server 2003のOSでは、システムのブートを設定するファイル(デフォルトではC:\Boot.ini)に、「/pae」オプションを追加する。このためには、[ファイル名を指定して実行]メニューで「c:\boot.ini」か「notepad c:\boot.ini」と入力する。Windows XP/Windows Server 2003なら、[コントロール パネル]の[システム]を起動し、表示された[システムのプロパティ]ダイアログで[詳細設定]タブの[起動と回復]の[設定]ボタンをクリックしてもよい。そして[起動と回復]画面で[編集]ボタンをクリックする(TIPS「システムのブート情報ファイルBOOT.INIを編集する」参照)。
するとc:\boot.iniを編集するメモ帳が開くので、ブートするOSの設定行の末尾に「/pae」を追加する。
変更後はシステムを再起動する。PAEが有効になると、[システムのプロパティ]画面に「物理アドレス拡張」という文字列が表示されているはずである。
Windows Vista/Windows Server 2008では、システムのブート情報はboot.iniファイルではなく、新しいBCDストアというデータによって管理されている。そのため、PAEを強制的に有効にするためには、これを編集するためのコマンド、bcdeditを利用する。このツールの使い方については、TIPS「bcdeditでVista/Windows Server 2008のブートOSメニューを変更する」を参考にしていただきたい。PAEを有効にするには、「bcdedit /set pae forceenable」を実行する。
システムやインストールしているデバイス、ソフトウェアなどにより、PAEを有効にするとシステムが起動しないなどのトラブルが発生することがある。もともとクライアントOSではあまり使われることのない機能なので、テストが十分行われておらず、場合によってはこのようなトラブルが発生する可能性がある。
システムが起動しなくなった場合は、システム起動時に[F8]キーを押してセーフ・モードで立ち上げ、元の状態に戻す。boot.iniファイルの場合は追加した「/pae」オプションを外し、bcdeditの場合は「bcdedit /set pae forcedisable」で無効にするか、「bcdedit /set pae default」でデフォルト状態に戻す。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.