ブートローダー
ブートローダーは、コンピューターや他のデバイスの起動プロセスにおいて非常に重要な役割を果たすソフトウェアコンポーネントです。このプログラムは、デバイスのファームウェア(BIOSやUEFIなど)によって最初にロードされ、その後、オペレーティングシステムのカーネルをストレージからメモリに読み込む責任を持つ。
ブートローダーはシステムの起動プロセスにおいて非常に重要であり、正しく機能しない場合、システムは起動できない。
したがって、その設定や更新には注意が必要となる。
ブートローダーの主な機能とプロセス
以下のようなものがある。
初期化と設定の読み込み
ブートローダーは、デバイスのファームウェアから制御を受け取り、必要に応じて追加のハードウェアの初期化を行う。
また、システムの設定や構成オプションを読み込むこともある。
オペレーティングシステムの選択
マルチブート環境(複数のオペレーティングシステムをインストールしている場合)では、ブートローダーはユーザーが起動したいOSを選択できるメニューを提示する。
例えば、LinuxとWindowsがインストールされているシステムでは、ブートローダーがどちらのOSを起動するかを選択させる。
カーネルのロード
ユーザーまたは設定に基づいてオペレーティングシステムが選択されたら、ブートローダーはディスク上の適切な位置からOSのカーネルをメモリに読み込む。
これには、カーネルイメージのロードのほか、必要なドライバやシステムファイルも含まれることがある。
実行の移譲
カーネルがメモリに正しくロードされると、ブートローダーはカーネルに制御を渡す。
この時点でカーネルはデバイスの残りの起動プロセスを引き継ぎ、システムの完全な初期化をカーネルが行う。
代表的なブートローダー
下記のようなものがある。
GRUB (GRand Unified Bootloader)
Linuxベースのシステムで広く使用されている強力なブートローダーで、高度な設定オプションとカスタマイズが可能です。
LILO (Linux Loader)
古いLinuxシステムで使われていたブートローダー。
Windows Boot Manager
Windowsシステムで使用されるブートローダーで、Windowsのインストールを管理する。