Nov 18, 2010

dynabook SS2000MのBIOSについて2

先日、dynabook SS2000MのBIOS設定で、PERIPHERAL Hard Disc Modeを初期設定のEnhanced(Normal)からStandard IDEに変更したら、それまで認識しなかった外付けDVDドライブを認識してWindowsXPのインストールが出来た、というようなことを書いた。
自分でもこれは何がなんだか分からないと思ってて、ちょっと調べたのでメモ書き。
結局よく分からないのだけど。

まず、Standard IDEって何だと思って検索。
@IT:PCメンテナンス&リペア・ガイド:第8回 増設前に知っておきたいハードディスクの基礎 1. 標準インターフェイス規格「IDE」の現状
8年前の記事だ。引用。

もともとIDEというのは、CompaqとWestern Digitalが共同で開発したハードディスクのインターフェイス仕様だったが、そのあと、米国の標準化団体であるANSI(American National Standards Institute)がATA(AT Attachment)という規格に標準化した。現在ではEnhanced IDE(E-IDE)やUltra ATA/100などと記されているハードディスクが多いが、これらはすべて「ATA規格」に従っている。

ANSI規格名通称最大データ転送速度
ATAIDE8.33Mbytes/s
ATA-2Enhanced IDE16.6Mbytes/s
(以下略)

http://ja.wikipedia.org/wiki/Advanced_Technology_Attachment
ここからも引用。

IDE HDDには、504Mバイト(512×1024×16×63 = 528,482,304バイト)を超える容量が認識されないという問題があった。

EIDE (Enhanced IDE) とは、一般にIDE HDDの504MBの壁を超えるための規格として認識されているが、実際は以下のようなさまざまな拡張規格の総称である。Western Digitalが提唱した。

これらがBIOSの「Enhanced(Normal)」と「Standard IDE」って奴でしょう。
マニュアルの
「Standard IDE.....Enhanced IDE に対応していないOS を使用する場合に選択する
この場合、528MB までが使用可能となり、残りの容量は使用できません。」
というのは、504MBの壁のことだろう。

Standard IDEは別件もヒットした。
http://www.dosv.jp/other/0612/07.htm
ここでいうStandard IDEはまったく意味が違うみたい。Serial ATAに関する言葉。
紛らわしかったので引用、メモしておく。

「Standard IDE」の「Enhanced」で利用すればよい。RAIDを利用するなら「RAID」だ。
Enhancedモードは、ICHがサポートしているIDE、Serial ATAポートをすべて有効にする設定で、製品によっては「Native IDE」などと表記されることもある。
Standard IDEのほかのモードは何のために用意されているかと言うと、MS-DOSのように、レガシーなIDEのプライマリ/セカンダリしか認識できない古いOSで利用するためのもの。

検索していて、興味深い事例を読んだ。
HDD交換顛末(Linux/Win95 dual boot) - TOSHIBA NoteBook Tecra780DVD(Incomplete Code)

このマシンのリカバリCDは:
  1. Fat32へのインストールは拒否する(元々DOSベースなので、できない)
  2. Fat16で最大サイズなパーティションを作成してそこにリカバリする

というもの。問題は、20G HDDをこのリカバリCDが16MのHDDとしか認識しないことにある。当然、リカバリ開始早々にアボートする。当たり前だ。DOSじゃあるまいし、Win95なプリインストールイメージが16Mで納まる訳はない。

解決策はBIOSの設定だった。通常、「Enhanced IDE」なのだが、これを「Standard IDE」にすると、リカバリCDは20G HDDを503Mとして認識してくれる。

うちの事例とは事情が異なるけど、興味深い。
なんで、BIOS設定がEnhanced IDEだとリカバリCDが20G HDDを16Mだと思うんだろう。
「#まぁBIOSの作りとHDDのファームの作りとの相互作用で決まった偶然の産物でしょう。今回はたまたまうまく行ったと思ってます。」と書かれてるんだけど、、。

うちのSS2000Mのハードディスクがどうなってるのか気になる。
BIOSを初期設定のEnhanced(Normal)にしたら、読み込めず起動しない。
Standard IDEでWindowsXPをインストールした結果、何が起きてるのだろう。
まったく問題なく動作してるように見えるんだけど。
このエントリーも、そのSS2000Mで書いてアップするんだけどね。

created by HeTeMuLu Creator

追記。
SS2000MのBIOSが何やってるのか調べている。覚書メモ。

10年前の記事。
BIOS設定講座/Intel i815E編 (EnjoyDOS/V)
ここをみると、SS2000MのBIOSが非常に単純なことが分かる。ふつうのBIOSってこんなに沢山の設定項目があるのね。
引用。

3. IDE Primary Master ~ IDE Secondary Slave : 実装済みのHDDのパラメータ設定です。(CD-ROMは自動検出)
このBIOS(と言うか最近のBIOS)は、【IDE AUTO DETECT】と言う項目が無く、起動時に自動的に認識するものがあります。このBIOSも、このタイプです。
パラメータなど、自動的に認識し、表示します。
何らかの理由で、変更をし、そのパラメータを保存をしたい場合は、この項目で、Enterを押すことで、変更できますが、AUTO/LBA/Large 程度でしょう。
※参考:
EIDEの為の(528MB以上の容量を持つハードディスク)設定を行います。 これは論理ブロックアドレス(LBA:LogicalBlockAddress)モードと呼ばれるアドレス変換方式を用います。
ハードディスクドライブのパラメータとしては、容量/シリンダー数/へッド数/プリコンペンセーションの開始シリンダー番号/待機時ヘッド位置 (へッド・ランディングゾーンのシリンダー番号)/トラック当たりのセクター数などをが設定出来ます。
デフォルトの設定はAutoです。これによって、BlOSがインストールされているハードディスクのパラメータ群を 電源投入時の自己診断(POST)で自動的に検出できるようになります。通常は、このAUTOの設定で使用した方が良いです。

AUTOなんて項目、SS2000Mには無いんですけど。
EnhancedがそもそもAUTOなのか?

あとEnhanced IDEの場合、LBA:LogicalBlockAddressというのがあるらしい。
IDE ディスク容量の壁について(tadachi-net.com)
引用。

■504MBの壁
 最も初期に存在した容量認識の壁は,504MBの壁です.これは,C/H/S が BIOS,IDEのそれぞれの値の上限である,1024/16/63 の値を取ったときの容量です.つまり,
1024*16*63*512(1セクタの容量) = 528,482,305 [Byte] = 504 [MB] から導き出される容量です.

 この壁を越えるために,BIOS側でのIDEディスクの認識に際し,SCSIコントローラで使用されているLBAアドレッシングという手法が採り入れられました.LBA アドレッシングとは,ディスクメディア上の最内周と最外周のセクタ数が異なることを利用し,全てのセクタに対して通し番号を付けて管理しようという手法です.

なるほど。
ということは「Standard IDE」で認識されてるHDDにはLBAが設定されてない、ということなのか。だからBIOS設定を「Enhanced」にすると、SS2000Mから内蔵HDDが見えなくなる。
不思議なのは、LBAがない?HDDでWinXPが動いてるということなんだけど、まあ、動くものなのかもしれない。
FreeBSD QandA 1508
引用。

1. IDE のハードディスクのセクターをアドレス指定する方法は、
CHS 変換とLBA 変換の2種類があります。

2. CHS 変換の場合は3つパラメーターがありますが、
それぞれの最大値は16383、16、63です。

3. そのため CHS 変換の場合の最大容量は 8.4GB になります。
(16383x16x63x512 = 8.4x10^9)

4. ハードディスクベンダーは、CHS 変換では 8.4GB までの使用しか
保証していないようです (実際に動作するかどうかは別)。
8.4GBを超える容量を使用するには LBA 変換を推奨しています。

CHS変換というのはCHSトランスレーション(いわゆるLARGEモード)のことだと思う。
(参考:http://ja.wikipedia.org/wiki/Advanced_Technology_Attachment
BIOSの「Standard IDE」がLARGEモードだったらXPがインストールできる説明になる?
しかし、説明書と矛盾してしまうけど。

さらに追記。
今、HDDを確認したら9.08GB使用している。LARGEモードで8.4GB以上使えないわけではないらしいが。
あとファイルシステムがNTFSというのも矛盾しないのか?と思う。

さらに追記。
ちょっとメモ。
Windows系フォーマット情報:起動用について(2003/05/15)(ROMーWin産業機器向け総合案内ページ)
引用。きれいに表示されるかな、
と思ったがやはり見づらいのでタグ使って表に書き直した。

表4 フォーマットとBIOSのアクセスモードの関係
OS 95/98/Me系 NT/2K/XP系
FORMAT種類 BIOS Mode CHS Large LBA CHS Large LBA
FAT16/[FAT32]CHS ××××
Large ××××
LBA ××××
FAT16XCHS *2 ▲●×●
Large *2 ▲●△●×●
LBA *2 ×●×●△●
FAT32XCHS *2 ××
Large *2 ××
LBA *2 ××
NTFSCHS - *3 ××
Large ××
LBA ××
注)
*1: 記号は、
 ◎は、常に起動可。
 ○は、BIOSが拡張INT13対応の場合。
 △は、PC(BIOS)が異なると起動しない場合もあります。
  (CHSの値がフォーマット時とBIOS設定で異なる場合)
 ▲は、BIOSに依っては起動する場合あります。
 ●は、W98系MBRを入れた場合、起動可能。
*2: FAT16X/FAT32Xは、
 ・BIOSが拡張INT13に対応している場合のみ。
 ・Windows 95(初期版)、Windows NT4は除外。
*3: NTFSは、Windows98系は除外。

つまり、NTFSフォーマットでXP proインストールの場合、CHSの値がフォーマット時とBIOS設定で異なる場合は起動しない可能性があると。
うちのケースに当てはまるのか。

Posted at 16:09 in pc | WriteBacks (0) | Edit
Edit this entry...

wikieditish message: Ready to edit this entry.
















A quick preview will be rendered here when you click "Preview" button.