[FreeBSD-users-jp 96361] Re: ブートディスクの構造

Naomichi Nonaka nao @ enuenu.org
2018年 12月 15日 (土) 11:34:41 UTC


野中です。

残念ながら手元にMBRの環境がないので確認ができないのですが、
・boot1はMBRスライスのオフセット0から511B
・BSDLABELはオフセット512Bから1023B
・boot2はオフセット1024Bから8191B
・ラベルaがオフセット8192B~
となっているように思えます。

大澤さんの書かれた
 >> boot1 が一つスキップしたセクタ以降にある boot2 を読み、
にある、スキップされたセクタの部分にBSDLABELが書かれている
ということだと思うのですが、認識あってますか?


On 2018/12/15 10:18, osawa.hisao @ tbd.t-com.ne.jp wrote:
> 大澤です。
> 
> 野中様、ありがとうございます。
> 
> なぜか、wanderlustから出すとSpamAssassinに引っかかってしまい、
> 難儀しています。で、返事が遅れてしまい・・・。
> 
> 
>> It uses 8 KB size
>> bootstrap code image /boot/boot, embedded into the partition table's
>> metadata area.
> 
> なんというか、ここの解釈なんですが、
> metadata areaはスライス中のすべてのパーティションの前に用意されるような
> に見えるのですが、
> いま、このディスクのboot1, boot2がパーティション'a'のなかにあって、
> でも一見正常に起動していて、それでいいのか?と疑問になっているのです。
> 
> 
> 大澤
> 
> ----- 元のメッセージ -----
> 差出人: "Naomichi Nonaka" <nao @ enuenu.org>
> 宛先: freebsd-users-jp @ freebsd.org
> 送信済み: 2018年12月10日, 月曜日 19:48:45
> 件名: [FreeBSD-users-jp 96354] Re:  ブートディスクの構造
> 
> 野中です。
> 
> 大昔に調べたことはあるのですがすっかり忘れていたので、改めて
> man gpartのBOOTSTRAPPINGの項を読むと、
> 
> A BSD disklabel is usually created inside an MBR partition (slice) with
> type freebsd (see the PARTITION TYPES section).  It uses 8 KB size
> bootstrap code image /boot/boot, embedded into the partition table's
> metadata area.
> 
> とあるので、ディスクラベル中にブートコードは埋め込まれてるようですね。
> 
> 
> 
> On 2018/12/10 17:02, osawa.hisao @ tbd.t-com.ne.jp wrote:
>> 大澤です。
>>
>> なぜかSpamAssassinに引っかかってしまったので、
>> 書き換えたうえメーラーも変えて再送です。
>>
>> ブートパーティションの構造について文献があれば紹介していただきたく。
>> 明確に書かれたものを見つけられないでいるので。
>>
>> というのは、
>> 現行PCはちょっと古いことからレガシーBIOSなので、
>> ブートディスクの先頭セクタの boot0 が
>> ブートスライスの先頭セクタにある boot1 を読み、
>> boot1 が一つスキップしたセクタ以降にある boot2 を読み、
>> boot2 が /boot/loader を起動する。
>> なので、'bsdlabel -w'といった具合にディスクラベルを作成すると、
>> offsetが16セクタ取られる。
>>
>> だと思っていたのですが、
>> 現在使用中のブートパーティション(ada0s1a)のラベルをみると
>> offsetが0になっています。なぜ、0にしたのかは覚えていませんが、
>> 最近気がつくまで数ヶ月間問題は起こっていません。
>>
>> これは、たまたま動いているだけなのでしょうか。
>> パーティション a の先頭セクタをddで読み出して見るとboot1 が
>> 同 3セクタ目からはboot2 が入っていることが確認できます。
>>
>> _______________________________________________
>> freebsd-users-jp @ freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
>> To unsubscribe, send any mail to "freebsd-users-jp-unsubscribe @ freebsd.org"
>>
> 
> _______________________________________________
> freebsd-users-jp @ freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
> To unsubscribe, send any mail to "freebsd-users-jp-unsubscribe @ freebsd.org"
> 



freebsd-users-jp メーリングリストの案内