📝
OS起動の仕組み(Linux)
はじめに
OSが起動するまでの流れをざっくり記載。
1.電源投入
コンピュータの電源を投入すると、コンピュータのシステムが起動。
2.UEFI起動(ハードウェアの初期化)
UEFI(BIOS)はコンピュータのシステム起動時に最初に実行されるファームウェア。
※ファームウェアとはコンピュータやスマートフォンなどの電子機器のハードウェアを動かすために組み込まれている専用のソフトウェア。主に機器の内部(チップやメモリ)に書き込まれており、電源を入れるとすぐに動き出して、ハードウェアの基本的な動作を制御する。
【UEFIの主な動作】
├─メモリのチェック
├─ハードウェア設定の読み込み
├─起動デバイスのチェック
└─ブートローダ(grub2等)をチェック
3.ブートローダ実行
ブートローダはカーネルをハードディスク内から読み込み、OSを起動する為のプログラム。
※例えばSSDに複数のOSがインストールされている場合、システム起動時にどのOSを起動するかブートローダで制御が可能。LinuxのブートローダはGRUB2が主流。その他、SYSLINUXやPXEブートといったブートローダが存在する。
【ブートローダの主な動作】
├─ブートメニュー表示
├─カーネル読み込み
├─ブートパラメータ(起動時の設定情報)をカーネル渡す
└─カーネルに制御を移す
4.OS起動
各種デバイスやサービスが初期化されユーザーセッションが可能になる
Discussion