bananan_wの日記: どこからどこまでがhda5なのか?
日記 by
bananan_w
とゆうことを地味に調べた。以前調べたのだけど、もっと深くきちんと調べてみた。いままでは fdisk.c の中身はブラックボックスとして扱ってたけど、真面目に扱ってみたくなってきたのです。
MBR の 0x1be からある、4つの struct partition のうち、sys_ind が 0x05 のものが拡張パーティションである。
拡張パーティションの struct partition の start4[4] に拡張パーティションのMBRのアドレス(以降拡張オフセットと勝手に呼ぶ)が書いてある。拡張パーティションの MBR の1番目の struct partition が hda5 の構造体である。hda5 の開始アドレスは start4[4] + 拡張オフセットになる。hda5 の終端は、開始アドレス + size4[4] となる。
文字だけじゃ難しいね。ま。いか。自分だけわかれば(ぉ
hda6 の MBRのセクタアドレスは、hda5 の MBRセクタに書いてある2番目の struct partition の start4[4] に拡張オフセットを足したものである。後は以下略でつ。最後の拡張パーティションの、struct partition の2番目のものは 0x00 ね。拡張パーティションは全てにおいてこの拡張オフセットを足したものが基本となるらしー。
ふむ。
--捕捉
MBR という単語が何度もでてきているけど、厳密に Master Boot Record ではなく、パーティションの先頭セクタという程度の意味で。
どこからどこまでがhda5なのか? More ログイン