ボリュームブートコードとは何ですか?

ボリュームブートコードとは何ですか&ボリュームブートコードエラーを修正するのに役立ちます

ボリュームブートコードとディスクパラメータブロックと、 ボリュームブートレコード/セクタを構成する2つの主要部分。 ボリュームブートコードは、 マスタブートコードによって呼び出され、ブートマネージャを起動するために使用され、 オペレーティングシステムの実際のロードが開始されます

ボリュームブートコードは、ボリュームブートレコードが存在するすべてのパーティション(すべてのフォーマット済みパーティション)に存在します。 ただし、アクティブに設定されているプラ​​イマリパーティションのマスターブートコードによってのみ呼び出されます。 それ以外の場合、非アクティブなパーティションの場合、ボリュームブートコードは未使用のままです。

ボリュームブートコードは、その特定のパーティション上のオペレーティングシステムに固有です。 たとえば、 Windows 10のボリュームブートコードは、Linuxのフレーバーや、 Windows XPWindows 7のような別のバージョンのWindowsの場合とは、機能が異なる場合があります。

注:ボリュームブートコードは、略語VBCによって時々参照されます。

ボリュームブートコードの機能

マスターブートレコードは、 BIOSによって設定されたブートシーケンス/オーダーで起動 可能なデバイスを検索します

ヒント:デバイスのブートコードがチェックされる順序を変更するのに役立つ必要がある場合は、BIOSのブート順序を変更する方法を参照してください。

ハードドライブのような関連するデバイスが見つかると、ボリュームブートコードは、オペレーティングシステムを起動する適切なファイルをロードする役割を担います。 Windows 10、 Windows 8 、Windows 7、およびWindows Vistaの場合、実際にオペレーティングシステムをロードするのはWindowsブートマネージャー(BOOTMGR)です。

Windows XPのような古いバージョンのWindowsでは、ボリュームブートコードがオペレーティングシステムの起動に使用するのはNTローダ(NTLDR)です。

どちらの場合も、ボリュームブートコードはブートプロセスを先に移動するための正しいデータを見つけます 。 OSがハードドライブからロードされる一般的なプロセスで、ボリュームブートコードが使用されるときは、ここで確認できます。

  1. ハードウェア機能をチェックするためにPOSTが実行されます。
  2. BIOSは、ハードドライブの最初のセクタにあるマスタブートレコードからコードをロードして実行します。
  3. マスターブートコードは、 マスターパーティションテーブルを参照して、そのハードドライブ上のブート可能なパーティションを探します。
  4. プライマリのアクティブパーティションをブートしようとしました。
  5. そのパーティションのボリュームブートセクタは、そのコードとディスクパラメータブロックを使用できるようにメモリにロードされます
  6. そのブート・セクタ内のボリューム・ブート・コードには、ブート・プロセスの残りの部分が制御され、 ファイル・システム構造が正常に動作することが保証されます
  7. ボリュームブートコードがファイルシステムを検証すると、BOOTMGRまたはNTLDRが実行されます。
  8. 上記のように、BOOTMGRまたはNTLDRはメモリにロードされ、適切なOSファイルが実行され、Windowsが正常に起動できるように制御がそれらに転送されます。

ボリュームブートコードエラー

上記のように、オペレーティングシステムが最終的にロードされるプロセス全体を構成する多くのコンポーネントがあります。 つまり、エラーがスローされる可能性があるインスタンスが多数存在するため、特定のエラーメッセージを引き起こす可能性があるさまざまな問題が存在します。

ボリュームのブートコードが壊れていると、通常は次のようなhal.dllエラーが発生します。

これらの種類のボリュームブートコードエラーは、Windowsで利用可能な多くの コマンドプロンプトコマンドの 1つであるbootsect コマンドで修正できます。 BOOTMGRを使用してボリュームブートコードをBOOTMGRに更新する方法を参照してください

上記の手順4で、アクティブなパーティションを検出しようとして失敗すると、「 No boot device 」のようなエラーが表示されることがあります。 この時点で、ボリュームブートコードが原因ではないというエラーが発生していることは明らかです。

そのハードドライブに適切にフォーマットされたパーティションがないか、またはBIOSが間違ったデバイスを探している可能性があります。その場合、ブート順序をハードドライブのような正しいデバイスに変更することができます(ディスクまたは外部ハードドライブなど)。