ブートセクタ

ブートセクタ（）は、ハードディスクドライブやフロッピーディスクなどの補助記憶装置のディスクセクタの一種で、ブートプログラムのコードなどを格納している部分である。ブートブロック（）とも。一般に、PC/AT互換機ではブートセクタと呼び、他のコンピュータではブートブロックと呼ぶことが多い。

BIOSがブートデバイスを選択すると、そのデバイスの第一セクタ（後述するMBRまたはPBR）をコピーし、0x7C00番地に配置して実行する。

 種類 
ブートセクタには、主に以下の2種類がある。

  (PBR) は、パーティションのない記憶媒体の第一セクタか、または個々のパーティションの第一セクタである。そこには、その媒体（またはパーティション）にインストールされたオペレーティングシステム（またはその他のスタンドアロンのプログラム）をロードして起動するコードが格納されている。ブートセクタであることを示すため、2バイトの16進数0xAA55で表されるブートセクタ・シグニチャをそのセクタの最後尾に書き込まれている。もしこれが無い場合、BIOSやMBRコードはエラーメッセージを表示し、ブート処理を中断する。
 マスターブートレコード(MBR)は、パーティションのある記憶媒体の第一セクタである。多くのBIOSコードは、MBRにもブートセクタ・シグニチャ(0xAA55)があることを要求する。MBRセクタには、どのパーティションがアクティブであるかを判断して、PBRコードを起動するコードが格納されている。

 運用 
PC/AT互換機では、BIOSはPBRとMBRを区別せず、パーティションも認識しない。BIOSは単に記憶媒体の第一セクタをロードして実行するだけである。フロッピーディスクの場合、それはPBRになり、ハードディスクの場合、それはMBRになる。MBR内のコードはパーティションを認識するので、アクティブに設定されているパーティションのPBRをロードして実行させる。PBRコードは二次ブートストラップローダをロードする。

さらに言えば、フロッピーであろうが、USBメモリであろうが、ハードディスクであろうが、ブート可能な記憶デバイスの第一セクタに格納されているものは、オペレーティングシステム (OS) をブートするコードである必要はない。BIOSは単にそこにあるものをロードしてそれを実行するだけであり、その際にセクタの最後の2バイトが0xAA55になっていさえすればよい。このため、MBRにあるブートコードを容易に置換可能であり、場合によってはユーザに次にどうすべきかを選択させるような複雑なブートプログラムをロードさせることもできる。ただしこのように簡易な設計になっているため、次の節で説明するようにウイルスに狙われやすいという問題もある。

 ブートセクタとコンピュータウイルス 
ブートセクタは、コンピュータウイルスがシステムの制御を奪う手段として使われることがある。この種のウイルスはブートセクタの内容をウイルスのコードで書き換える（フロッピーの場合、ハードディスクの場合、両方に感染する場合がある）。

 外部リンク 
 ウイルスに感染したパソコンを救う IPAセキュリティセンター

 ブートセクタウイルスを検出するメソッド Microsoft サポートオンライン
 古典的ウイルス Viruslist.com
 Assembler/なぜx86ではMBRが"0x7C00"にロードされるのか？(完全版)

Category:OSのファイルシステム
Category:ディスクメディア
Category:ブート