Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

1次ブートローダ(イチジブートローダ)とは | 意味や読み方など丁寧でわかりやすい用語解説

1次ブートローダ(イチジブートローダ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

一次ブートローダ (イチジブートローダ)

英語表記

primary bootloader (プライマリ ブートローダー)

用語解説

コンピュータの電源が投入されてからオペレーティングシステム (OS) が完全に起動するまでには、さまざまな段階を踏む。この一連の起動プロセスにおいて、最も初期の段階で動作する極めて重要なプログラムの一つが1次ブートローダである。

1次ブートローダは、ハードディスクやSSDなどの起動デバイスの特定の領域に格納され、コンピュータが最初に読み込む実行可能なコードのまとまりである。その主な役割は、OSそのものを直接メモリにロードするのではなく、次の起動段階を担うプログラム、つまり「2次ブートローダ」をメモリに読み込み、その2次ブートローダへとシステムの制御を引き渡すことにある。このプログラムは非常に小さく、限られた機能しか持たないが、コンピュータを起動させるための最初の橋渡し役として不可欠な存在である。通常、マザーボード上のBIOS (Basic Input/Output System) やUEFI (Unified Extensible Firmware Interface) といったファームウェアによって起動デバイスから読み込まれ、実行される。

コンピュータの電源が投入されると、まずマザーボード上のファームウェアであるBIOSまたはUEFIが起動する。ファームウェアは、CPUやメモリ、周辺機器などのハードウェアを初期化し、その後、起動可能なデバイスを探し始める。起動デバイスが特定されると、ファームウェアはそのデバイスの特定の物理アドレス、特にハードディスクの場合であれば、そのディスクの最も先頭にある最初のセクタ(通常は512バイトの領域)に格納されているプログラムをメインメモリに読み込み、そのプログラムにシステムの制御を移す。この読み込まれる最初のプログラムこそが1次ブートローダである。

一般的なPC環境において、ハードディスクの先頭セクタには「マスターブートレコード (MBR)」という領域が存在し、そのMBRの最初の部分に1次ブートローダが格納されている。MBRは全体で512バイトしかない非常に小さな領域であり、そのうちの大部分(通常は446バイト)が1次ブートローダのコードに割り当てられている。残りの領域には、ディスクのパーティション構成を示すパーティションテーブルや、MBRの有効性を確認するための署名などが含まれる。

MBRに格納された1次ブートローダの機能は以下の通りである。まず、自身がメモリにロードされ実行されると、そのディスクにどのようにパーティションが設定されているかを示すパーティションテーブルを読み込む。次に、パーティションテーブルの中から「アクティブ」または「ブート可能」とマークされたパーティションを探し出す。これは、どのパーティションからOSを起動すべきかを特定するプロセスである。アクティブなパーティションが特定されると、そのパーティションの先頭セクタに格納されている別のブートコードを読み込み、それに制御を移す。このパーティションの先頭セクタに格納されているコードは「パーティションブートレコード (PBR)」または「ボリュームブートレコード (VBR)」と呼ばれる。

PBRの役割は、自身の属するパーティションにインストールされているOS固有の2次ブートローダをメモリにロードし、実行することである。例えば、Windows OSの場合、PBRは「bootmgr」という2次ブートローダを読み込み、Linux OSの場合であれば、「GRUB (GRand Unified Bootloader)」のような2次ブートローダを読み込む。このように、起動プロセスは複数の段階に分かれており、MBRの1次ブートローダはその中で最も低レベルで汎用的な役割を担い、PBRと連携しながら、より高機能な2次ブートローダへと処理を引き渡していく。

なぜ起動プロセスがこのように多段階になっているのかというと、一つにはMBRの1次ブートローダが持つサイズ制限がある。わずか数百バイトの領域では、複雑なOSのロード処理をすべて記述することは不可能である。そこで、OSの種類に依存しない汎用的なコードをMBRに配置し、その後、特定のOSに対応したより機能豊富な2次ブートローダに処理を引き渡すという設計が採用されている。この設計により、一つのコンピュータに複数のOSをインストールする「マルチブート」環境も容易に実現できるようになる。MBRの1次ブートローダは、どのOSを起動するかを選択する機能は持たないが、どのパーティションから次のブートローダを読み込むかを決定する役割を果たす。

現代のコンピュータではUEFIファームウェアが普及しており、UEFI環境ではBIOSベースのMBRとは異なる起動プロセスが主流となっている。UEFIファームウェアは、EFIシステムパーティション (ESP) 内にある特定のファイル形式(EFIアプリケーション)を直接起動することが可能であるため、従来のMBRのような厳密な512バイトの1次ブートローダを介さずに、OSのブートローダを直接呼び出すことができる。しかし、UEFIファームウェアがBIOS互換モード(CSM: Compatibility Support Module)で動作している場合や、レガシーな起動方法を選択した場合、あるいはGPT (GUID Partition Table) ディスクとMBRパーティションの両方が存在する特殊なケースでは、依然としてMBRの1次ブートローダの仕組みが利用されることがある。したがって、その原理を理解することは、現代のシステムにおいてもなお重要である。

いずれの環境においても、1次ブートローダはコンピュータ起動のまさに根幹をなす要素であり、この部分が破損したり、誤った情報が書き込まれたりすると、OSを正常に起動できなくなる。そのため、マルウェアなどがこの領域を狙って攻撃を行うこともあり、システムの安定性とセキュリティを維持する上で、1次ブートローダの正常な機能は極めて重要である。

関連コンテンツ