MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


Linuxのブートプロセス
profile-img
投稿者: enさん
投稿日:2021/09/08 11:40
更新日:
like-img
分類
技術
テクノロジー
Unix系サーバ
キャリア
運用・保守 / テクニカルサポート
投稿内容
今回はLinuxのブートプロセス(起動順序)についてまとめてみました。

一般的なブートプロセスは、
BIOS → ブートローダ → カーネル → init の順番です。
それでは細かく見ていきましょう。


■BIOS(Basic Input Output System)
マザーボードに搭載されているプログラムで、CPUからディスプレイ、キーボード、マウスに至るまでの管理や制御をしている。
マシンの電源をオンにするとまずBIOSが起動し、

ストレージ(HDDなど)などに関して最低限の認識を行い、起動デバイスの優先順位を決める(こちらの順位は変更することも可能)。

順番に各デバイスの※MBRを読み込み、読み込んだブートローダに制御を移す。

BIOSは最近ではUEFI(Unified Extensible Firmware Interface)に置き換わりつつある。

※MBR…ストレージの先頭にある小さな領域。ブートローダが格納されている



■ブートローダ
OSを起動するためのプログラム。MBRに保存されている。
LinuxではGRUB(GRand Unified Bootloader)が一般的に採用されている。
ストレージ内のカーネルをロードし、制御を移す。



■カーネル
OSの核となる部分。
高度にハードウェアを認識・制御し、各種デバイスなど様々な初期化処理を行う。
initプロセスを起動する。



■init
カーネルによって最初に起動されるプロセス。
全てのプロセスの親で、PIDは1。
設定ファイル「/etc/inittab」の記述に基づいて、自動起動するべきプロセスを立ち上げる。

最近はupstartやsystemdなどがinitプログラムとして採用されており、システム起動時間がより短くなっている。



この順序を把握しておくと、OS起動の際にトラブルなどが起きても問題を特定しやすくなります。




参照資料

Linux - システムのブート (infraeye.com)

【Linux】ブートプロセスについて - Qiita

第5回 ブートローダ|Linux技術者認定機関 LPI-Japan [エルピーアイジャパン]


コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3