Linuxシステム起動のブートフローの解析
inittabファイルの内容から分かるように、実行レベルは設定、すなわち、どの実行レベルでも/etc/rcが実行される.d/rc.sysinit
9)実行/etc/rc.d/rcN.dディレクトリ下のサービス起動スクリプト
ここまで行くと、インタフェースにユーザー名とパスワードの入力を求めるメッセージが表示されます。つまり、システムが起動しました。ユーザー名とパスワードを入力するプロセスは後で話します。今回のブートプロセスは終わります。
最後に説明したいのは、LINUXのブートフローの考え方はほぼ同じですが、詳細はバージョンの問題でプロファイルの名前や位置が異なり、今回はCentOSバージョンを使用していますが、Ubuntuバージョンはinittabファイルやgrupはありません。confファイルなので、興味があれば、このような考え方で探求することができます。
PS:GRUBについて
GNU GRUBの前身はGrand Unified Bootloaderである。主にクラスUnixシステムに使用されます。ほとんどのLinuxリリース版と同様に、GNUシステムもそのイニシエータとしてGNU GRUBを採用している。Solarisは,10/06版からx 86システムにおいてもGNU GRUBをイニシエータとして採用している.
GRUBは動的に構成できる。起動時に構成情報をロードし、起動時に異なるカーネルやinitrdを選択するなどの変更を許可します。この目的のために、GRUBは、ユーザが新しい起動順序を記述できるようにするBashのような簡単なコマンドラインインタフェースを提供する。
GRUBはとても軽いです。複数の実行可能なフォーマットをサポートします。マルチスタートをサポートするオペレーティングシステムに適しているほか、WindowsやOS/2などのマルチスタートをサポートしていないオペレーティングシステムもチェーンスタート機能でサポートされています。GRUBはすべてのUnixファイルシステムをサポートし、Windows対応のFATとNTFSファイルシステムもサポートし、LBAモードもサポートしています。GRUBでは、サポートされているファイルシステム内のファイルの内容を表示できます。
GRUBには複数のユーザインタフェースがある。多くのLinuxリリースでは、GRUBによるグラフィックインタフェースのサポートを利用して、カスタマイズされたバックグラウンドパターン付きのスタートメニューを提供しており、マウスもサポートされている場合があります。GRUBの文字インタフェースの設定により,シリアルポートによりリモート端末起動を実現できる.
GRUBは、ネットワークからオペレーティングシステムミラーをダウンロードできるため、ディスクレスシステムをサポートすることができる。GRUBは、オペレーティングシステムを起動する前にミラーを解凍することをサポートします。
GRUBは、他のイニシエータとは異なり、GRUBプロンプトを使用してユーザと直接対話することができる。OSをロードする前に、GRUBテキストモード画面の下にcキーを入力すると、GRUBコマンドラインにアクセスできます。「menu.lst」ファイルがないジョブシステムまたはジョブシステムがあるシステムでも、GRUBプロンプトにアクセスできます。bashのようなコマンドにより、GRUBプロンプトは、ユーザーがオペレーティングシステムを手動で起動できるようにします。適切なコマンドを「menu.lst」ファイルに記録すると、オペレーティングシステムを自動的に起動できます。
GRUBには豊富な端末コマンドがあり、コマンドラインの下でこれらのコマンドを使用すると、ユーザーはハードディスクパーティションの詳細を表示したり、パーティション設定を変更したり、ディスクの順序を一時的に再マッピングしたり、ユーザー定義のプロファイルから起動したり、GRUBがサポートしているファイルシステム上の他のイニシエータの構成を表示したりすることができます。そのため、1台のパソコンに何がインストールされているのか分からなくても、外部機器からオペレーティングシステムを起動することができます。
GRUBはスクロール画面を用いて起動したいオペレーティングシステムを選択する。「menu.lst」ファイルに関連情報を追加することで、GRUBは150以上の起動オプションを制御し、起動時に方向キーで選択することができます。