ブータブルメディアを起動可能にするものは何ですか?


回答:


5

おそらく、ブータブルメディアの編成方法に関するいくつかの詳細は、「ブータブルメディアをブータブルにするもの」を定義するのに役立ちます。

ブート手順はアーキテクチャによって異なるため、標準のPC(つまり、x86アーキテクチャ)のみを使用します。

まず、効果的に「ブート」するためには、後の電源投入時自己診断テスト(POST)後にBIOSがメディアを選択する必要があります。これが発生するには、メディアが起動可能としてマークされている必要があります。つまり、最初のセクターに起動署名が必要です。これは、メディアを起動可能にする最初のことです。

次に、BIOSが読み込まれ、このブートセクターに手が渡されます(そこに格納されているものは何でも...それが適切なリアルモードプログラムになる可能性がありますが、「通常の」スキームに固執しましょう)。したがって、ブータブルになるには、メディアにそのような機能するブートセクターが必要です。

メディアがパーティション化されている場合、マスターブートレコード(MBR)がこのセクターにインストールされます。このコードは、パーティションテーブルをチェックし、起動可能なフラグが設定されているパーティションを見つける責任があります。次に、MBRはこのパーティションの最初のセクターをロードします。これには、ボリュームブートレコード(VBR)と呼ばれるものが含まれます。パーティション化されていないメディアの場合、VBRはメディアの最初のセクターにあるため、BIOSによって直接呼び出されることに注意してください。

VBRには、ブートストラッププログラムが含まれてます。このプログラムは、マシンを初期化(つまり、A20ゲートを介した拡張メモリのアクティブ化、リアルモードから保護モードへの切り替えなど)して、「モダン」コードの実行に適した環境を設定し、このコードをメモリにロードしてから「ジャンプ」する必要がありますそれに。上記のコードは、ブートローダープログラムの場合はOSカーネル、チェーンローディングの場合はマルチブートシステム(GRUB、LILOなど)のいずれかです。とにかく、最終的には、メディアを起動するために実行するいくつかの実行可能コードが必要です。

続く内容(たとえば、カーネルの解凍、初期RAMディスクのマウント、ハイブリッドカーネルの場合のモジュールの読み込み、またはマイクロカーネル用に起動するサーバーなど)は、ブータブルメディアの組織の観点から厳密には関係ありません。

注:私が説明したのは、ハードディスクとフロッピーのプロセスです。CDの場合も非常に似ています。さらに、CDを起動可能にするには、ISO9660標準の拡張であるEl-Torito仕様に準拠する必要があります。もともと、CDにはブート可能なフロッピーディスクイメージ(実際には1.44Mイメージ)が含まれている必要がありました。これはBIOSによってフロッピーとして扱われ、それに応じてブートされました。最近のハードウェアでは、この回避策なしで直接起動できます。


9

ブータブルメディアをブータブルにするのは

  • 次のようなことを定義するブータブルメディアの標準:
    • ブートローダーが適用可能なハードウェアプラットフォーム。
    • ブートローダーソフトウェアのメディア上の場所。
    • そのソフトウェアがロードされるプロセス。
  • メディアが接続可能なハードウェアへのこれらの標準の実装。

Wikepediaには、起動プロセスを説明する記事があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.