PC UNIXの起動と起動ファイルの解読 |
YAMAMORI Takenori ●yamamori |
LinuxやFreeBSDなどのUNIX系OSにおけるOSの起動処理とは, PCの電源を入れてから「login:」のプロンプトまたはxdm系のグラフィカルログインの 画面が出るまでの処理であると言ってよいでしょう. PC UNIXの起動画面の様子を下の図に示します. 画面はVine Linux 2.1.5での例です. OSの起動処理は,下の図で次の4つの段階に分けて考えることができます.
●図 PCの電源投入時(どんなOSでもこの画面から始まる)
〜電源投入からブートローダ読み込みまで〜(起動0%〜5%)
●図 ブートローダの起動(図はグラフィカル表示のLILO)
〜ブートローダからカーネルの読み込みまで〜(起動5%〜10%)
●図 OSの起動(図はVine Linux)
〜カーネルの起動から/sbin/initの起動まで〜(起動10%〜50%)
〜/sbin/initの起動からログインプロンプトまで〜(起動50%〜100%)
ここで,上のOSの起動の画面上では一連のメッセージが連続していますが,
この途中にはrootファイルシステムのマウントという,
ひとつの大きな区切りがあります.
画面に出力されるメッセージは,rootファイルシステムのマウントまでは,
カーネルから直接コンソールに出力され,
rootファイルシステムのマウント後,initが起動された後は,
/dev/consoleを通して出力されるようになります.
なお,この例ではinitrdを使用しているため,rootファイルシステムのマウントは
2回行なわれており,起動の様子はもう少し複雑になっています.
(コラム「Linuxのinitrdについて」参照)
FreeBSDの場合は,ブートローダまでの段階では, テキストはコンソールにグレーの文字で表示され, カーネルの起動の段階で明るい白の文字に変わり, initの起動の段階で再びグレーの文字に変わるため, 区別がつきやすくなっています.
それでは,これらの段階を追ってOSの起動について見て行きましょう.