Large Diskを使用する場合に注意することは下の二つ。
ちなみに LBAがどうのこうのという話は他に譲ります。
BIOSを起動し、IDE Auto Detectionを使ってHDDのパラメータを見てみよう。大概の場合は Normal, LBA, Largeの三種類がリストアップされていると思う。Largeについては解らないが、どうやら(少なくとも私のシステムでは) Normal, LBAは
OSは、先頭から 1024 cylinder以内から起動しなければならないというOS側の制限が厳しくなる。だから Head数をBIOS側で勝手に増やし Cylinder数を減らしているわけだ。
特に DOS/Windowsでは、先の起動云々の制限は
起動ドライブは先頭から1024cylinder以内に作らなければならないと置き換えられる。Headが255ならこれは8.4GBに相当するが、Headが16なら528MBになる。
ではBIOSが Head=255 なパラメータを付けて起動出来なかった場合はどうか?実はWindowsはOS側で先ほどのような変換を行っているようだ。だから BIOSでのHDD設定が Normal になっていても Windowsだけ使っている分には余り問題ではない。
唯一問題になりそうなのは、BIOSとOSの両方に関わるモノ。例えば...パーティションを操作するツールは危ないと思われる(ハイ、一度死にました)。
Linuxのfdiskは C,H,Sのパラメータを自由に変更できる。またブート方法もたくさんあるので、1024cylinder問題も軽微である。だからLinuxだけ使っているぶんにもそう問題ない。liloが使えないくらいだが、個人的にはloadlinの方が便利なので。
しかし、相互的に運用するとなるとこれが凄〜く問題になる。それぞれが勝手なアドレス付けしていたら...
私の例では、某西指の13GB HDDを使っていたのだが、マザーボードがATA66非対応であるのが災いし、BIOSの寄越したLBA的パラメータをHDDが無視しやがった。おかげで起動画面には LBA, UDMA2, 528MBと出る始末...
仕方がないので HDDの寄越したCHSパラメータをそのまま鵜呑みにして boot。よってWindowsとLinuxが 異なるアドレスで同じHDDを解釈してしまい、下に示す様々な問題が発生してしまった。
はっきり言って、かなり死ねました。LinuxはCHSパラメータを変更できるので、BIOSの認識した LBAパラメータを与えれば Windowsとの互換性もばっちりと思ったが、どうも気難しいWindows様のお気に召さなかったらしい。
結局 BIOSの提示したLBAパラメータを HDDが拒否して起動したのが問題だったため、HDDに当たりを付けて ATA66を無効化したら目出度くLBAモード13GBで起動した。これでBIOS/DOS/Linux間で共通のアドレスが持てるためハッピーである。
ATA66対応HDDを 非対応システムで使用するといろいろ問題がある(PIO mode4で動いたり...)ので、必ず無効化すべきである。各社のwebpageに急げ!
ちなみに、無理矢理8.4G超のHDDを認識させるソフトウェアも提供されているが、幸せになりたければそれらは使わない方が良い。やはり管理方法の違いがでると面倒なので。