普段あまり意識はしないが、なかなかにややこしい。奥が深いというよりは、過去のしがらみを引きずりまくってグダグダな感がある(特に用語が)。でも、代替の無い大事な手順であるし、比較的資料も多いので、調べて学習するのはさほど苦痛ではない。
 
 *結論 [#g88fbcd0]
 
  電源ON ==> BIOSが起動可能HDD見つけ、MBRに行く
         ==> MBR内コード実行し、起動すべきパーティションを判断し、そこのPBRに行く(OS非依存)
         ==> PBRでの指示に従う(OS依存)
 
 とりあえずHDDの場合。OSが何であれ、MBRには適切な何かが必ず無くてはならない。つまり
 
 -新しいHDDにOSをセットアップする際には、MBRにも適切な処置を必ず施す必要がある
 -既存のHDDにOSを追加する際には、既存MBRが何か把握し、現状維持か刷新か判断する必要がある
 
 まあ最近のOSだったらほっといても適切に判断してくれるのだろうけど
 
 *link [#f898d2f3]
 
 -[[ブートとハードディスクのすべて:http://nobumasa-web.hp.infoseek.co.jp/boot_hdd.html]]  <== 必読
 -[[ハードディスクドライブの基礎知識:http://www.linux.or.jp/JF/JFdocs/hdd-intro.html]]
 -[[LILO "the Linux Loader" の動作について:http://www.linux.or.jp/JF/JFdocs/inside-lilo.html]]
 
 
 
 *HDD [#u1557e28]
 データ記録デバイスの主役はHDDなので、各種ブートの話もHDDの基礎知識があると何かと理解しやすい。
 
 **link [#q8fb81da]
 -[[ハードディスクドライブの基礎知識:http://www.linux.or.jp/JF/JFdocs/hdd-intro.html]]
 
 
 **機械的な構造 [#b96bc16f]
 薄い円盤(ディスク、プラッタ)が積層した構造を持つ。稼動中はこれらが回転し、ヘッドは適宜動いて目当てのデータがある位置に到達しようとする。
 
 トラックとは、円盤上のある円周である。
 
 シリンダとは、積層されたトラック(円筒)である。
 
 セクタとは、最小単位まで細切れにされたトラックの一部分を指す。UNIX界隈ではブロックとも呼ばれるそうである。読み書きはセクタ単位で行われる。通常1セクタの(記憶域としての)大きさは512byteであるが、これはいずれ4096byteになるそうである([[ HDD業界団体が標準セクター・サイズを4Kバイトに拡大,「Windows Vista」は対応予定:http://itpro.nikkeibp.co.jp/article/USNEWS/20060324/233190/]])。
 
 **領域、パーティション [#u56e24b4]
 
 ひとつのHDDには、基本領域と呼ばれる領域を4つまで作成することができる。領域が4つまでで十分ならば、これ以降の知識は必要ない。
 
 
 4つ以上の領域が欲しいなら
 
 +拡張領域をひとつ作成
 +論理領域を、その拡張領域の中に作成(いくらでも作れる)
 
 とする。拡張領域はコンテナに過ぎず、ひとつまでしか作れない。
 
 *MBR (Master Boot Record) [#kb66f820]
 ''HDDの''最初のセクタである。
 
 |アドレス範囲(十進、byte)|内容|h
 |0 - 445 | プログラムコード |
 |446 - 509 | パーティションテーブル |
 |510 - 511 | シグネチャ |
 
 
 「プログラムコード」の部分に今後のブートの手続きが記されている。例えばWindowsをインストールすると「ブートストラップローダ」(固有名詞)が格納される(これを陽に行うには FDISK /MBR とすれば良い)。これの代わりにLILOやSystem Commanderなどのローダも格納できる。いずれもここに実際に格納されているのは「次の一手」を示すコードのみであり、残りはまた別な場所にある。
 
 16x4=64byteの「パーティションテーブル」には、4つの基本(または拡張)領域の情報が格納されている。これらは具体的には下記のとおり。
 
 -タイプ(ファイルシステムとかの)
 -開始・終了位置
 -アクティブ(起動可能)か否か?
 
 「シグネチャ」は 0xAA55 でなくてはならない。
 
 *PBR (Partition Boot Record) [#q6779c8e]
 ''パーティションの''最初の方のセクタである。起動を司る点で雰囲気がMBRに似ているが、基本的にOSやファイルシステムに依存した構造を取る点で大きく異なる。