ブートセクタ

ブートセクタとは、ハードディスクやフロッピーディスクなどの記憶装置において、ブートプログラムのコードが格納されている特別な領域のことです。ブートブロックとも呼ばれ、主にPC/AT互換機|PC_AT互換機ではブートセクタ、他のコンピュータではブートブロックと呼ばれることが多いです。

ブートセクタの種類


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

1. パーティションブートレコード (PBR)
パーティションのない記憶媒体の先頭セクタ、または各パーティションの先頭セクタに位置します。
その媒体やパーティションにインストールされたOSやプログラムを起動するためのコードが含まれています。
ブートセクタであることを示すために、セクタの最後に「0xAA55」というブートセクタシグニチャが書き込まれています。
このシグニチャがない場合、BIOSやMBRコードはエラーを表示し、ブート処理を中断します。

2. マスターブートレコード (MBR)
パーティションのある記憶媒体の先頭セクタに位置します。
多くのBIOSでは、MBRにもブートセクタシグニチャ(0xAA55)があることを要求します。
MBRには、アクティブなパーティションを特定し、そのパーティションのPBRコードを起動するためのコードが含まれています。

ブートセクタの運用


PC/AT互換機|PC_AT互換機では、BIOSはPBRとMBRを区別せず、パーティションも認識しません。BIOSは単純に記憶媒体の先頭セクタをロードして実行するだけです。フロッピーディスクの場合はPBRが、ハードディスクの場合はMBRがロードされます。

MBR内のコードはパーティションを認識し、アクティブに設定されたパーティションのPBRをロードして実行します。PBRコードは、さらに二次ブートストラップローダーをロードします。

重要な点として、ブート可能な記憶装置の先頭セクタに格納されているものは、必ずしもOSをブートするコードである必要はありません。BIOSは単にその場所にあるものをロードして実行するだけで、セクタの最後の2バイトが0xAA55であれば問題ありません。そのため、MBRにあるブートコードを別のものに置き換えることが可能です。これにより、ユーザーに選択肢を与えるような複雑なブートプログラムをロードすることもできます。

しかし、この簡易な設計が、後述するようにウイルスに狙われやすい原因となっています。

ブートセクタとコンピュータウイルス


ブートセクタは、コンピュータウイルスがシステムの制御を奪うために利用されることがあります。ブートセクタウイルスは、ブートセクタの内容をウイルスのコードで書き換えることで、システムに侵入します。フロッピーディスクやハードディスクの両方に感染する可能性があります。

外部リンク



ウイルスに感染したパソコンを救う IPAセキュリティセンター
Microsoft. “Windows NT でウイルスからブートセクタを保護する方法”. KnowledgeBase.
ブートセクタウイルスを検出するメソッド Microsoft サポートオンライン
古典的ウイルス Viruslist.com
Assembler/なぜx86ではMBRが0x7C00にロードされるのか?(完全版)

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。