| 
        
       ◆ システムの起動の流れ 
       
       一般的なLinuxシステムで、ハードウェアで電源ONにしてからOSが起動するまでの流れは以下です。 
       
       1. 電源ON 
       2. BIOSが起動してハードウェアのチェックなどを行い、MBRからブートローダを起動。 
       3. ブートローダでは、ハードディスク上からカーネルをメモリ上へ読み込む。 
       4. カーネルは、メモリの初期化、システムクロックの設定などを行う。 
       5. initは、システムの初期化スクリプトを実行し、ランレベルに応じたデーモンを起動。 
       6. ブートが完了すると、Linuxへのログインプロンプトが表示され、起動処理が完了する。 
       
       
          
      
       
      
       
       
       ◆ Linuxカーネルの起動 : initプロセス (/sbin/init) の起動 
       
       システム起動時の initプロセス(/sbin/init)では、/etc/inittabファイルに従いシステムサービスを起動。 
       
       1. initが、/etc/inittab を読み込む。 
       2. initが、/etc/rc.sysinitスクリプトを実行する。 
       3. initが、/etc/rcスクリプトを実行する。 
       4. /etc/rcスクリプトが、/etc/rc(ランレベル).d ディレクトリ配下の起動スクリプトを実行する。 
       
       上記のようなサービスがあらかじめ決められた順番で起動していく仕組みのことをSysVinitと言います。 
       この仕組みの場合、あるサービスの起動に手間取ると、次に起動するサービスを待つことになり、最終 
       的な起動完了まで時間がかかります。最近のLinuxディストリビューションではUpstartという仕組みを 
       採用しており、この仕組みの場合、サービスを並列で起動することで短時間でシステムを起動できます。 
       
       
       ◇ 起動スクリプト 
       
       SysVinitでは、各種サービスを起動するために /etc/init.d ディレクトリの配下に用意されている起動 
       スクリプトが使われます。ランレベルが異なれば起動サービスも異なります。/etc/rc*.d ディレクトリ 
       では、各ランレベルで起動するサービス、終了するサービスのスクリプトファイルが配置されています。 
       ※ 以下の /etc/rc*.d ディレクトリの起動スクリプトの実体は、すべて /etc/init.d に格納されています。 
       
       /etc/rc1.d ⇒ ランレベル1になった時に利用されるスクリプトファイル 
       /etc/rc2.d ⇒ ランレベル2になった時に利用されるスクリプトファイル 
       /etc/rc3.d ⇒ ランレベル3になった時に利用されるスクリプトファイル 
       /etc/rc4.d ⇒ ランレベル4になった時に利用されるスクリプトファイル 
       /etc/rc5.d ⇒ ランレベル5になった時に利用されるスクリプトファイル 
       /etc/rc6.d ⇒ ランレベル6になった時に利用されるスクリプトファイル 
       
       
       例として、ランレベル1とランレベル2で実行されるスクリプトファイルを見てみましょう。 
       
         
       
       
       ファイル名が「K」ではじまるファイル、「S」ではじまるファイルはシンボリックリンクのファイルで、 
       実際には/etc/init.d ディレクトリ以下にあるファイルです。シンボリックリンクとはWindowsでいえば 
       ショートカットのことです。ls -l により、ファイルの詳細を確認すれば -> でリンク先が表示されます。 
       
       
         
       
       
       
       ◆ システム起動時のイベント確認 
       
       システム起動時のイベントはログファイルに保存されており、以下のログファイルで確認できます。 
       
      
      
 
        
          
            | ファイル名 | 
            説明 | 
           
          
            |  /var/log/messages | 
             システム全般の情報が確認できる。 | 
           
          
            |  /var/log/boot.log | 
             システム起動時の各プロセスが「OK」か「Failed」かを確認できる。 | 
           
          
            |  /var/log/dmesg | 
             システム起動時のメッセージが出力される。 | 
           
        
       
       
       
       また、dmesgコマンドを使用することで、システム起動時の処理内容を詳細に確認することができます。 
       
         
       
      
      
      
       
       |