Linux セカンドステージ・ブートローダー
GNU GRUB、rEFInd、BOOTMGR、Syslinux、NTLDR、iBoot などのセカンドステージブートローダは、それ自身はオペレーティングシステムではありませんが、オペレーティングシステムを適切にロードし、そのオペレーティングシステムに実行を移すことができます。セカンドステージブートローダは、それ自身の動作にドライバを必要としませんが、代わりにBIOSやオープンファームウェアのようなシステムファームウェアが提供する一般的なストレージアクセス方法を使用することができます。

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

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

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

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