LinuCレベル1 Version 4.0 101試験の例題と解説
101.2 システムのブート
■例題
BIOSから起動されるLinuxシステムのブートプロセスの順序として2番目にあたるものを選びなさい。
1. ルートファイルシステムのマウント
2. ブートローダ
3. initプロセスの起動
4. カーネルイメージとinitramfsのメモリロード
5. BIOSの起動
※この例題は実際の試験問題とは異なります。
解答と解説
答えは「2. ブートローダ」です。
1. BIOSの起動
メモリのチェック、ハードウェア設定の読み込み、起動デバイスのチェック、起動デバイスのMBRに格納されたブートローダを実行します。
2. ブートローダ
カーネルをメモリにロードし、OSに制御を引き渡します。
Linuxで使用されるブートローダはGRUB2やGRUBがよく使われていますが、古いディレクトリビューションではLILOが利用されています。
またDVDやUSBから起動するライブメディアなどは、SYSLINUXが利用されています。
3. カーネルとinitramfsのメモリロード
まずカーネルの読み込みを行います。
その後、カーネルはinitramfsのマウントを行い、initramfsに保存されたカーネルモジュールの読み込みを行います。
カーネルモジュールの読み込みを行うことで、必要なドライバを全て読み込み、ルートファイルシステムのマウントが出来るようになります。
4. ルートファイルシステムのマウント
ルートファイルシステムの検索、エラーチェック、マウントを行います。
5. initプロセスの起動
プロセスID1のプロセスinitが起動され、システムの初期化を行います。
その後、ランレベルに応じたサービスを起動します。
最近では、initプロセスでなくsystemdによるシステムの起動が行われています。
1~5それぞれで何が行われているかも理解しておくことで、システムの起動時に問題が起きた際の原因特定に役立てることができます。
電源を入れてから起動が完了するまでのプロセスを確認しておきましょう。
◆例題作成者
株式会社デージーネット システム設計部 森 彰吾 氏 株式会社デージーネット ソリューション開発部 丸吉祐也 氏