Linux セカンドステージブートローダ
GNU GRUB、rEFInd、BOOTMGR、Syslinux、NTLDR、iBootなどの第2段ブートローダは、それ自体はオペレーティングシステムではありませんが、オペレーティングシステムを適切にロードして実行を転送することができるのだ。第2ステージのブートローダは、それ自体の動作にドライバを必要とせず、代わりにBIOSやオープンファームウェアなどのシステムファームウェアが提供する一般的なストレージアクセス方法を使用することができますが、通常はハードウェア機能が制限され、性能も低くなります。

多くのブートローダは、ユーザが複数の起動方法を選択できるように設定することができるのだ。これらの選択肢には、異なるオペレーティングシステム（異なるパーティションやドライブからデュアルまたはマルチブートする場合）、同じオペレーティングシステムの異なるバージョン（新しいバージョンに予期せぬ問題がある場合）、異なるオペレーティングシステムのロードオプション（例、ブートローダによっては、他のブートローダをロードすることもできるのだ。例えば、GRUBはWindowsを直接ロードするのではなく、BOOTMGRをロードするのだ。通常、デフォルトの選択肢はあらかじめ選択されており、その間にユーザーがキーを押して選択肢を変更することができるのだ。

ブートプロセスは、コンピュータがユーザーと対話できる状態になったとき、またはオペレーティングシステムがシステムプログラムまたはアプリケーションプログラムを実行できる状態になったときに完了したとみなすことができるのだ。

多くの組み込みシステムは、すぐに起動しなければなりません。例えば、デジタルテレビやGPSナビゲーションデバイスの起動を1分も待つことは、一般的に受け入れがたいことなのだ。そのため、このような機器では、すぐに機能を開始できるように、ROMやフラッシュメモリにソフトウェアシステムを搭載しているのだ。デバイスの製造時にあらかじめロードを計算してROMに保存しておくことができるため、ロードはほとんど必要ありません。

大規模で複雑なシステムでは、最終的にオペレーティングシステムやその他のプログラムがロードされ、実行する準備が整うまで、複数のフェーズで進行するブート手順があるかもしれません。オペレーティングシステムは起動も停止もしないように設計されているので、ブートローダはオペレーティングシステムをロードし、そのシステム内の単なるプロセスとして自分自身を構成し、その後オペレーティングシステムに不可逆的に制御を移すかもしれない。その後、ブートローダは他のプロセスと同じように通常通り終了するのだ。
2ステージブートローダは、実際には2つのブートローダが互いの後に構成されているのだ。最初のものは、2番目のものをロードすることだけを目的とした小さなものなのだ。そして、2番目のものには、カーネルをロードするために必要なすべてのコードを含めることができるのだ。GRUBは2つの（あるいは議論の余地なく3つの）ステージを使用するのだ。