2012-01-02 Linuxの起動シーケンス Linux マシンの電源投入後、以下の順序で処理が進みます。0. 電源の投入 ↓ 1. BIOSがブート・ローダーを起動 ↓ 2. ブート・ローダーがカーネルを起動 ↓ 3. カーネルが /sbin/init を起動 ↓ 4. /sbin/init が /etc/inittab を参照し、ランレベルに応じたスクリプト(/etc/rc.d/rc0.d 〜 rc6.d のいずれか)を実行もう少し書くとこうなります。 BIOS マザーボード内に記録されているBIOSが起動する。 マザーボード上のデバイスを認識・初期化(メモリーのチェック等)する。 どのデバイス(HDD、FD、光学ドライブ等)から起動するかチェックする。※ここではHDDが指定されていることを想定。 HDDの先頭セクター(MBR: Master Boot Record)から、ブート・ローダー(CentOSの場合はGRUBが採用されている)を起動する。※GRUBの本体は、/bootディレクトリに格納されている。 ブート・ローダー(GRUB: GRand Unified Bootloader) どのカーネルを起動するかチェックする。※「(1) GRUBの設定内容の調べ方」参照。 指定されたカーネルを起動する。 カーネル /sbin/init を起動する。 /sbin/init /etc/rc.d/rc.sysinit を起動する。※「(3) rc.sysinit の内容」参照。 /etc/inittab を参照し、ランレベルに応じたプログラム起動スクリプトを実行する。※「(2) ランレベルの調べ方」参照。 実行されたスクリプト(/etc/rc.d/rc0.d 〜 rc6.d のいずれか)が各種サービスを起動する。