- PR -

Boot Faiureって表示されちゃうんです

投稿者投稿内容
magical
ベテラン
会議室デビュー日: 2002/01/05
投稿数: 92
投稿日時: 2004-07-21 07:42
私もぽんす様の意見に賛成。
MBRにBootLoaderが書かれていないから起動できないってだけです。
NTloaderでも(なつかしの)LILOでもGRUBでもいいからMBRにBootLoaderを
書き込めば起動できるはず
(参考)
http://www.atmarkit.co.jp/icd/root/80/5785080.html
coasm
大ベテラン
会議室デビュー日: 2001/11/26
投稿数: 237
投稿日時: 2004-07-22 12:51
私も同じ現象に遭遇したことがあります。
パーティションを解放して新たに切り直すことで、回復しました。

そのときは時間がなかったので深く追求しませんでしたが、
BIOSが「パーティションテーブルが壊れている」と判断したのではないかと推測しています。
隣の古柴
ベテラン
会議室デビュー日: 2004/06/04
投稿数: 94
投稿日時: 2004-07-22 15:07
BIOSでの起動ディスクがCDROM(のみ)ドライブをさしていたり・・なんてオチ
は無いですよね(^^;


#私は過去にありました。

ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-07-22 22:37
引用:

coasmさんの書き込み (2004-07-22 12:51) より:
私も同じ現象に遭遇したことがあります。
パーティションを解放して新たに切り直すことで、回復しました。

そのときは時間がなかったので深く追求しませんでしたが、
BIOSが「パーティションテーブルが壊れている」と判断したのではないかと推測しています。


なるほど、そういうこともあるんですね。
パーティションテーブル関係というと、MBR 最後尾のマジックナンバーが
セットされてないとか、アクティブ・フラグあたりが思いつきますが、
それだと他のPCでも起動できなさそうですし...
うーん、CHS 値の書き方の問題でしょうか?

できれば、MBR(HDD の先頭から512バイト)を吸い出して、末尾66バイト
(パーティションテーブルで64 + マジックナンバーで 2)をみせて
頂けるとありがたいですねえ。後学のために。
coasm
大ベテラン
会議室デビュー日: 2001/11/26
投稿数: 237
投稿日時: 2004-07-23 01:55
修復後のMBRを見てもしかたない、と思っていたのですが、
念のために確認したところ、現状(Boot可)でもやっぱり変でした(笑)。

コード:
0001B0  00 00 00 00 00 2C 44 63  BC D6 80 14 00 00 80 01
0001C0  01 00 07 FE FF 90 3F 00  00 00 12 CE DF 00 00 00
0001D0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 0F
0001E0  C1 CA 07 0E FF FE 51 CE  DF 00 10 2F C0 00 00 0F
0001F0  C1 FE 0F EF FF FE 61 FD  9F 01 8F 1A 08 03 55 AA

80 [   0:  1: 1] 07 [ 912:254:63]        63  14667282 + NTFS
00 [   0:  0: 0] 00 [   0:  0: 0]         0         0 - empty
00 [ 970: 15: 1] 07 [1022: 14:63]  14667345  12594960 - NTFS
00 [1022: 15: 1] 0F [1022:239:63]  27262305  50862735 - Ext(LBA)


第1パーティションの終了CHS値とパーティションサイズが一致していない。
第3/第4パーティションの開始位置/終了位置がシリンダ境界になっていない!

パーティションを切り直す前は、現在の第1パーティションが2分割されていて、
第2パーティションがアクティブになっていました。
アクティブパーティションの先頭がシリンダ境界にない、というのがBIOSのチェックに
引っかかっていたのかも・・・

最初にUSB-IDE変換アダプタを介して既存マシンにつないでパーティション確保&フォーマット、
その後で本来のターゲットに組み込んでWindows2000をインストール、
さらに別のパソコンに移したら「Boot Failure」になった。
というわけで、たぶんUSB-IDE変換が悪かったのでしょう。

BIOSによって、MBRのシグネチャ(最後尾のマジックナンバー)しかチェックしないものと、
パーティションテーブルの健全性をちゃんとチェックするものがあるらしいので、
後者のBIOSを持ったマシンでは「Boot Failure」になるということかな?
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-07-23 21:58
うちでも調べてみました。
コード:

000001b0 66 bb 44 72 69 76 65 20 b1 00 80 0f b6 00 80 01
000001c0 01 00 a5 00 ff ff 3f 00 00 00 10 f0 bf 00 00 00
000001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff
000001e0 ff ff a5 0c ff ff 4f f0 bf 00 f4 cf 3b 00 00 00
000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa


CHS でみると、最初のパーティションはシリンダ 0、ヘッダ 1、
セクタ 1 からはじまり、シリンダ 1023、ヘッダ 0、セクタ 63 で
終わっていることになっていますが、LBA ではオフセットが 63
(16進 3F、すなわち第一トラックぜんぶ)でセクタ数が 12578832
(リトルエンディアンで書かれている 10 f0 bf 00 を逆から読んで
00BFF010)となっていて、計算が合いません。
CHS のほうはダミーの値をテキトーに書き込んでるだけのようです。

引用:

coasmさんの書き込み (2004-07-23 01:55) より:
修復後のMBRを見てもしかたない、と思っていたのですが、
BIOSによって、MBRのシグネチャ(最後尾のマジックナンバー)しかチェックしないものと、
パーティションテーブルの健全性をちゃんとチェックするものがあるらしいので、
後者のBIOSを持ったマシンでは「Boot Failure」になるということかな?


ふむふむ。
CHS値に対してチェックをかけるのは legacy くさい気がします。
そこでひっかかっているのだとすると、BIOS をアップデートすれば
回避できるかもしれないですね。

[ メッセージ編集済み 編集者: ぽんす 編集日時 2004-07-23 21:59 ]
猫又
会議室デビュー日: 2004/07/14
投稿数: 7
投稿日時: 2004-07-25 00:52
遅くなりました。Bakecatです。

引用:

kazさんの書き込み (2004-07-20 22:07) より:
なんとなく,HDD のジャンパの設定が違ってるとか,そういう根源的なところで間違って設定になってる気がするんですけどね〜...
cable select になってて master 側に繋いでいたのを slave 側に繋いでるとか.
ちなみに BIOS の boot sequense で一番最初に HDD が来るように設定したらどうなります?順番入れ替えることが出来なければ,FDD も CD-ROM drive も boot しないようにして,或いは極端に「無効」にしてから起動してみるとか.


kaz様ご指摘いただいた点、回答させていただきます。
まず、
・HDDのジャンパピン→masterにしてあります。
・BIOSでの起動順序を最初にHDD読み込むように→結果変わらずBootFailureが表示されました。
・BIOSでの起動順序でHDD以外を無効に→同じくBootFailureですた。

んで、Ru.F様の
引用:
--------------------------------------------------------------------------------
今度は逆に新PCでインストールしたHDDを前PCにつけると起動するのか、
起動しないとしたらどんなエラーがでるのか、
挑戦してみてほしいですね。
--------------------------------------------------------------------------------
は、ごめんなさい。ちょと今、変わりのHDDないので
いらないHDDをFormatするか、新しく買ってくるか悩み中でしゅ。。。

んとー。確認の意味でのご質問をさせて頂きまっす。
ヘタレなので、ぽんす様・coasm様の16進数のコード見させて頂いても
私には、全くチンプンカンプンですが(えぇ、WinFAQなり見て勉強してみました、感じはつかめました。
んでも実際に、コードみちゃうとダメでした。。。)
要は、この16進数のコードをBIOSがチェックするメーカーとチェックしないメーカーがあり
チェックしちゃうと、BootFailureになっちゃう。
ちうことで、BIOSのupdateをしてみよう!ってことであってますでしょうか?
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-07-25 23:39
引用:

Bakecatさんの書き込み (2004-07-25 00:52) より:
要は、この16進数のコードをBIOSがチェックするメーカーとチェックしないメーカーがあり
チェックしちゃうと、BootFailureになっちゃう。
ちうことで、BIOSのupdateをしてみよう!ってことであってますでしょうか?


そのあたりは、かなり想像も入ってます。
「BIOS アップデートで解決するかも???」くらいでして。

CPU が Celeron 800MHz ということなので、マザーボードのチップセットは
440BX とか 440ZX とか 440ZX/66 あたりである可能性も多分にあるなあ、
と思っておりまして。で、このあたりですと工場出荷時の BIOS での
LBA への対応はけっこう微妙です。
「対応していなくてもブートローダを読み込むことはするはず」と、私は
思っていたのですが、それが間違いで、BIOS がパーティションテーブルを
チェックしてハネているのが今の症状だとすればアップデートで
解決するんじゃないかなあ、というわけです。

スキルアップ/キャリアアップ(JOB@IT)