[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[b-free: 1351] Re: HDからのブート (Re: Re^2: FD で bootする方法を教えてください )



林です。

In message <19980416103409B.night@soft.hitachi.co.jp>
   "[b-free: 1347] Re: HDからのブート (Re: Re^2: FD で bootする方法を教えてください)"
   "Ryuichi Naitoh <naitoh_r@soft.hitachi.co.jp>" wrote:
naitoh_r> > BIOS経由でのアクセスでしたっけ? それともハードウェア直接操作してます?
naitoh_r> 
naitoh_r> えーと、
naitoh_r> 
naitoh_r> 1stboot	... BIOS 経由
naitoh_r> 2ndboot ... ハードウェア
naitoh_r> OS      ... ハードウェア
naitoh_r> 
naitoh_r> というようになっています。
naitoh_r> うまくいかないのは 2nd boot の方です。
naitoh_r> 
naitoh_r> 
naitoh_r> > ハードウェア操作なら規格は変わってないはずですね。BIOSの方はちょっと
naitoh_r> > 変わってますけど、レジスタの今まで使ってなかった部分までアドレス指定に
naitoh_r> > 使っている程度の違いしかなかったと思います。
naitoh_r> 
naitoh_r> としたら、2nd boot の方はうまくいくはずですね。うーん。
naitoh_r> ひょっとして、EIDE というのは関係なく、ジオメトリ変換を行っているのが
naitoh_r> 原因かもしれません。ジオメトリ変換については何の処理も行っていませんか
naitoh_r> ら(というか、あまりよく理解していない)。

ジオメトリ変換が違うというのは考えられますね。MBRに書き込まれている
パーティション情報(開始セクタなど)はBIOSの認識するものですのでEIDEの
ハードウェアにそのまま渡すと間違った値になる場合があります。
IDEハードウェアとBIOSでインタフェースのヘッダ数(シリンダ数)の上限が
違うのでEIDEのBIOSで演算処理を行って調整を掛けているのです。演算処理
といっても一方を2で割ってもう一方を2倍するとかの程度ですけど、サイズ
によって処理が違うとか結構ややこしい話も聞きます。これから作るなら、
ディスクをEIDEに限る(古いIDEは無視)としてLBA(Linear Block Address)
によるアクセスを行うようにすると良いかも知れません。MBRにはLBAによる
パーティション開始ブロック番号も入っているので使う分には支障はないと
思われますし。

naitoh_r> > この辺はFAQだけでもかなり書かれていたように記憶しています。
naitoh_r> 
naitoh_r> 何か、アクセスができないんですけど。。。

こちらでもアクセスできません。おかしいですね。昨日確認のためにアクセス
したときはつながったのですけど。
お急ぎでしたらFAQのコピー(NetNewsに流れていたもの。97/09なので古い)を
メールしましょうか? NetNewsを覗けば最新のものもあると思いますけど。
# 最近NetNewsを見てないので(^_^;) ちなみにFAQは
# >comp.sys.ibm.pc.hardware.storage,comp.sys.ibm.pc.hardware.misc,comp.answers,news.answers
# に投稿されているようです。


--
Takanori Hayashi
takanori@ohsaki.meidensha.co.jp