今回のセットアップで分かったこと

セカンドマシンは以前から使っていたマザーボードで、今回のようなトラブルは記憶に無かったのだが、今回はいろいろ苦労した。その過程で調べて分かったことがあるので忘れず書いておく。

  • Bottom of 32-bit[31:24]IO


マニュアルにもあまり書いていなかった買った項目。32bitOSに対して通知するメモリの上限のこと。32bitOSで扱えるメモリの上限は4GBまで。我々のPCにはメインメモリだけではなくて、それ以外にもいくつかメモリが使われていて…その分を差し引かないとダメ。DOSの頃の640KB〜1MBまでと同じことですな。
んで、この項目はその拡張機器が使用するメモリの値を指定するもの。Autoと言うものがあればそのままにしておかないと、拡張機器の領域とバッティングしてしまうので、Windows起動途中でブルースクリーンになってしまう。
ワシのマザーは、D0が初期値だったが、なんやねんこれ!と言う事で調べたらすぐ分かってorz。10進数で4GBの値をWindowsの電卓で入力して16進へ変換したらすぐ分かる。4294967295を16進にしたらFFFFFFFF。これが32bitで扱えるMAX値ですな。BIOSで設定できるF0とかD0とかの値は、16進数の先頭二桁の値のことで、以下のようになる。

  • F0 → 3.75GB
  • E0 → 3.50GB
  • D0 → 3.25GB
  • C0 → 3.00GB
  • B0 → 2.75GB


32bit OSに伝達するメモリの上限の値は、上記のように256MBごとに値が設定されているので、Autoと設定しない場合は、自分で値を選ばないとダメ…しかし、そもそもなんで予約されているのかが分からないと設定のしようがない。そこで、intelの資料を調べてみたらこんなのが出てきた。


なんというか…一般向けの説明ですね。なぜ?の部分にはさらりと答えているだけなので、切羽詰って血走った目をしているワシには不十分。はっきりと「32bitアーキテクチャーに依存するデスクトップ・ボード製品の仕様となり、回避する方法はありません。」というのもステキなところw。
より詳しい資料はここの8ページ目。他のサイトでも紹介されているが、なぜかintelのホワイトペーパーがASUSにある。予約されている内訳が書いてあるので参考に…。Microsoftとかの解説はここ。ざっくり読んで、ビデオカードのVRAMの容量とか、ディスクコントローラのバッファとかいろんなもんが4GB付近に確保されるので、完璧に指定したければ、そのあたりの動きをしっかり理解しないといけない。なので、興味のない人には、Autoの設定ができたらOKと言うことで。
もし、Auto設定がない場合は、D0にしておけばだいたいOKかな?そもそも64bitのOSだったら無視しても良い項目だったのでorzだった。