起動プロセス
詳細
1. BIOS/UEFI
-
役割: システムファームウェアがブートローダを探して実行
- BIOSの場合
- 記憶装置(HDD)等に関して最低限の認識を行う
- 起動デバイスの優先順位を決定する
- 各デバイスのMBRを読み込む
- MBR内のブートローダに制御を譲渡する
- UEFIの場合
- 記憶装置(HDD)等に関して最低限の認識を行う
- 起動デバイスの優先順位を決定する
- 各デバイスのGPTを読み込む
- GPT内のEFIシステムパーティション(ESP)を
/boot/efi
にマウントする - EFP内のブートローダに制御を譲渡する
- BIOSの場合
- 使用ディレクトリ: なし(ファームウェアレベルの処理)
2. ブートローダ(GRUB/GRUB2)
- 役割: カーネルと初期RAMディスク(initrd/initramfs)を読み込む
-
使用ディレクトリ:
-
/boot/
→ ブートローダの設定やカーネルイメージを格納 -
/boot/grub/
→ GRUB の設定ファイルやモジュール
-
3a. 初期RAMディスク
- 役割: ファイルシステムをマウントするために必要なドライバやスクリプトを提供する
-
使用ディレクトリ:
-
/boot/initrd.img
→ 初期RAMディスクのイメージ
-
3b. カーネル
-
役割:
- 初期RAMディスク内のファイルシステムへアクセスするために必要なドライバやスクリプト参照し、ルートファイルシステムをマウントする
- initという特別な最初のプロセスをルートファイルシステムから起動する
-
使用ディレクトリ:
-
/boot/vmlinuz
→ カーネルイメージ -
/boot/initrd.img
→ 初期 RAM ディスク -
/sbin/init
→init
プロセスの実行ファイル
-
4. 初期化システム(init system)
- 役割: システムの基本的な設定を行い、サービスを開始
-
使用ディレクトリ:
-
/etc/
→ 設定ファイル全般 -
/lib/
→ 必要なライブラリ -
/sbin/
→ システム管理ツール -
/usr/lib/
→ その他のライブラリ
-