システムの起動と終了

 

●システム起動の流れ

  1. PCの電源を入れると、BIOSが起動してハードウェアを初期化後、
    ディスクのブートセクタを読み取ってブートローダへ制御を渡す
  2. ブートローダが指定されたパーティションからカーネルを読み込み、制御を渡す
  3. カーネルがメモリ初期化・システムクロックやIRQの設定後、initプログラムを実行
  4. initプログラムがシステムの初期化スクリプトを実行する(ランレベルに応じたデーモンが起動する)
  5. ログインプロンプト(ブートプロンプト)が表示され、起動処理が終了する

 

 

●Linuxのランレベル

ランレベルとはLinux OSの動作モードのこと
システムのシャットダウンや再起動も、
このランレベルを変更することによって実現されている

ランレベル 説明

0

システム停止

1, s, S

シングルユーザモード(スーパーユーザ(root)のみログイン可)
パスワード認証が行われないためrootパスワードを忘れた場合にも利用する

2

マルチユーザモード、コンソールログイン、NFSなし

3

マルチユーザモード、コンソールログイン

5

マルチユーザモード、グラフィカルログイン

6

システム再起動

 

ランレベル関係のコマンド

コマンド 説明 書式 主なオプション 補足
runlevel 現在のランレベル表示 runlevel 左から

前回のランレベル 現在のランレベル

で表示される

init ランレベルの変更 init [ランレベル]  
telinit ランレベルの変更 telinit [ランレベル]  

 

その他のランレベルの変更方法

 

 

●システムの終了と再起動

システムを終了させるときには、システムが破壊されるのを防ぐため、必ずシャットダウン処理を行う必要がある

コマンド 説明 書式 主なオプション 補足
shutdown システムの終了と再起動

実行後は新たにシステムにログインすることは出来ない

shutdown [オプション] 時間 [メッセージ]

例:

shutdown -h +20 "System shutdown in 20 minutes"

-h :システムの終了

-r :システムの再起動

-k :ユーザにシャットダウンメッセージを送るが、
実際にはシャットダウンしない

-c :シャットダウン処理をキャンセル

(-h -rと併用するオプション)
-f
:次回起動時にfsckをスキップする

-F :次回起動時にfsckを実行する

 

その他、システムをシャットダウンする、halt やpoweroff、
再起動する reboot というコマンドもあるが、
shutdownコマンドを使用した方がより安全

 

 

 

 

 

起動スクリプトと起動メッセージ

 

●起動スクリプト

Linux OSの起動時には、ランレベルに応じて起動スクリプトが実行され、サービスプログラムが起動される
(起動するサービスプログラムはランレベルによって異なる)

起動スクリプトは、/etc/rc.d/init.d ディレクトリ内に格納されている
(*バージョンによっては、/etc/rc.d/init.dが/etc/init.dの場合もある)

/etc/rc.d/ディレクトリ以下に各ランレベル毎のディレクトリ(例えば/etc/rc.d/rc3.d)があり、
その中に/etc/rc.d/init.d ディレクトリ内にある起動スクリプトへのシンボリックリンクが格納されている
シンボリックリンク名につけられているSは起動、Kは起動しない を表し、数字は実行順序を示す

 

手動でサービスプログラムを実行する場合は、
/etc/rc.d/init.d ディレクトリ内の起動スクリプトに、

などの引数を付けて、個別に実行する

 

 

●起動メッセージ

Linuxの起動時に画面に出力されるメッセージのこと
検出されたハードウェアの情報などが表示される

起動メッセージには

があり、カーネルが出力したメッセージについては、
/var/log/dmesg ファイルを参照する、またはdmesg コマンドで起動後にも表示することが出来る

また起動メッセージは、/var/log/messages ファイルに記録されるので、
スーパーユーザ(root)でこのファイルを参照すれば、起動後にも起動メッセージを確認することが出来る

 

 

 

 

 

 

 

 

 

 

 

 

inserted by FC2 system