まずはざっくりと…
電源ON
↓
BIOS/UEFI
↓
ブートローダ(各デバイスのMBR・GPT内)
↓
カーネル
↓
init
・BIOS/UEFI …
とりあえずHDDを最低限に認識し、各デバイスの優先順位を決める。
その順番通りに各デバイスのMBR/GPT・ESPを読み込み、それぞれのブートローダに制御を移す。
つまりブートローダはデバイスの数だけ存在する?
BIOSが他からロードするものは、ブートローダのみ!!
ブートローダ …
各デバイスのMBR/GPT・ESPからBIOS/UEFIによって引っ張り出される。つまりデバイスの数だけブートローダがある?
MBRの先頭446バイトの中に入っている。
いわゆる GRUB や GRUB Legacyがそれ。
カーネル …
ハードウェア認識・制御のメイン。modprobe( /etc/modprode.d )で関連モジュールの管理ができる。
初期RAMディスク内にアクセスするために、ルートファイルシステムのマウントを行う、その後ルートファイルシステム(/sbin/init)からinitを起動させる。(ハードウェアを高度に認識・制御する)
※コンテナ型仮想化とも相性がいいのかな?
init …
最初に実行されるプロセス。このためPID(プロセスID)は必ず1。
設定は「/etc/inittab」にて行われる。
Upstart や systemd も init だが、これらの場合は設定ファイルをいじらない。
コメント