📝

OS起動の仕組み(Linux)

に公開

はじめに
OSが起動するまでの流れをざっくり記載。

1.電源投入
コンピュータの電源を投入すると、コンピュータのシステムが起動。

2.UEFI起動(ハードウェアの初期化)
UEFI(BIOS)はコンピュータのシステム起動時に最初に実行されるファームウェア。
※ファームウェアとはコンピュータやスマートフォンなどの電子機器のハードウェアを動かすために組み込まれている専用のソフトウェア。主に機器の内部(チップやメモリ)に書き込まれており、電源を入れるとすぐに動き出して、ハードウェアの基本的な動作を制御する。

【UEFIの主な動作】
 ├─メモリのチェック
 ├─ハードウェア設定の読み込み
 ├─起動デバイスのチェック
 └─ブートローダ(grub2等)をチェック

3.ブートローダ実行
ブートローダはカーネルをハードディスク内から読み込み、OSを起動する為のプログラム。
※例えばSSDに複数のOSがインストールされている場合、システム起動時にどのOSを起動するかブートローダで制御が可能。LinuxのブートローダはGRUB2が主流。その他、SYSLINUXやPXEブートといったブートローダが存在する。

【ブートローダの主な動作】
 ├─ブートメニュー表示
 ├─カーネル読み込み
 ├─ブートパラメータ(起動時の設定情報)をカーネル渡す
 └─カーネルに制御を移す

4.OS起動
各種デバイスやサービスが初期化されユーザーセッションが可能になる

Discussion