サーバー構築で少し触れる機会があったので・・・
ブートローダーとは
ブートローダー:カーネルを起動するためのソフトウェアのこと
カーネル:OSの中核部分のこと
Linuxでは LILO (Linux Loader)と GRUB (Grand Unified Bootloader)が使われています。
LILO
参考URL1から引用
LILOは古くからLinuxで利用されてきたブートローダです。特徴としてはカーネルの位置情報をLILO自身内部に情報として持ち、その情報からカーネルをロードするというものです。LILOは後述するファイルシステムを認識しないため、カーネルの位置をHDDの物理的な位置情報で判断しています。この物理的な位置情報をブロックリストといいます。
LILOはこのブロックリストを自身の内部に保持しており、ブロックリストを参照してカーネルをロードします。そのためLILOは「ブロックリスト参照型」のブートローダといわれます。
GRUB
参考URL1から引用
GRUBは高性能ブートローダでLILOとはことなる仕組みをもちます。GRUBの特徴の1つにファイルシステムを認識できることがあげられますが、これはLILOとはことなりカーネルの位置をファイルパスで指定することができることを意味しています。このようなタイプを「ファイルシステム認識型」といいます。
こういったLILOやGRUBの動作を経て、カーネルがロードされることになるわけですが、このカーネルがロードされてからがOS自身の起動シーケンスであり、カーネルの制御下でOSとして機能するための様々な処理が行われます。
/sbin/initプロセス
/sbin/initプロセス:Linuxカーネルが一番最初に起動するプロセスのこと(プロセスIDは1)
また、プロセスには親子関係が存在し、/sbin/initプロセスがルートになります。
ランレベル
/sbin/initプロセスが起動するプロセスはLinuxの実行形態を変化させます。
この実行形態を ランレベル といいます。
ランレベル | 説明 |
---|---|
0 | 停止 |
1 | シングルユーザーモード |
2 | マルチユーザーモード(テキストログイン、NFSサーバーは停止) |
3 | マルチユーザーモード(テキストログイン) |
4 | 未使用 |
5 | マルチユーザーモード(グラフィカルログイン) |
6 | 再起動 |
シングルユーザーモード: システム管理者のみログインができる。
テキストログイン:CUI
グラフィカルログイン:GUI
ランレベルを表示する。
# runlevel
ランレベルを変更する。
# init $lunlevel