linux Bootloaderとは？
ブートローダーは、ブートローダーと表記されたり、ブートマネージャーやブートストラップローダーと呼ばれることもあり、コンピュータを起動させる役割を担うコンピュータプログラムなのだ。

コンピュータの電源が切れても、オペレーティングシステム、アプリケーションコード、データなどのソフトウェアは、不揮発性メモリに保存されたままなのだ。コンピュータの電源が入ったとき、通常、ランダムアクセスメモリー（RAM）にはオペレーティングシステムやそのローダーはありません。コンピュータはまず、読み取り専用メモリ（ROM、後にEEPROM、NORフラッシュ）に格納された比較的小さなプログラムを必要なデータとともに実行し、RAMを初期化（特にx86システム）して、不揮発性デバイス（通常はブロックデバイス、例えばNANDフラッシュ）にアクセスし、そこからOSプログラムやデータをRAMにロードすることができる。

いくつかの以前のコンピュータシステムは、人間のオペレータまたは周辺装置からブート信号を受け取ると、非常に少数の固定命令を特定の場所のメモリにロードし、少なくとも1つのCPUを初期化し、次にCPUを命令に向け、その実行を開始することができる。これらの命令は、通常、何らかの周辺装置（オペレータがスイッチで選択可能な場合もある）からの入力操作を開始する。他のシステムでは、周辺機器やI/Oコントローラに直接ハードウェアコマンドを送り、極めて単純な入力操作（「システムデバイスのセクタゼロを位置1000から始まるメモリに読み込む」など）を実行させ、少数のブートローダ命令をメモリに効果的にロードすることができる。その後、I/Oデバイスからの完了信号を使用して、CPUによる命令の実行を開始できる。

小型のコンピュータでは、コンピュータが所定のソフトウェア構成で迅速に起動するように、柔軟性は低いものの、より自動的なブートローダ機構を使用することが多い。例えば、多くのデスクトップコンピュータでは、起動プロセスは、CPUがROMに含まれるソフトウェア（例えば、IBM PCやIBM PC互換機のBIOS）をあらかじめ定義されたアドレスで実行することから始まります（Intel x86シリーズを含む一部のCPUは、リセット後に外部の支援なしにこのソフトウェアを実行するように設計されています）。このソフトウェアは、ブートに参加する資格を持つデバイスを検索し、最も有望なデバイスの特別なセクション（最も一般的にはブートセクター）から小さなプログラムをロードする初歩的な機能を含み、通常はセクターの開始点などの固定エントリポイントから始まります。
ブートローダとは、ブートプロセス中にオペレーティングシステムをRAMにロードする、マシンコードで書かれたプログラムなのだ。