web-dev-qa-db-ja.com

ブートセクターと複数のドライブはどのように機能しますか?

私はブートセクターの概念を完全には理解していません。誰かが私にこれを解決してくれることを望んでいました。

それぞれにOSがインストールされた2つのハードドライブがある場合、各ドライブには独自のブートセクターがありますか?各ドライブにはMBRパーティションが必要ですか?

LinuxとWindowsを2つの別々のドライブにインストールしています。 Linuxとgrubをインストールするときに問題がありましたが、ようやくWindowsブートローダーを使用して起動することにしました。/fixmbrを使用したときにWindowsはgrubを削除しましたか、それとも他のドライブのブートセクターに残りますか?

17
GiH

ウィルの答えは漠然と正しいですが、技術的に正確ではありません。はい、ドライブにMBRは必要ありません。これがないと、そのドライブから起動できなくなり、そのドライブにパーティションを作成できなくなります。だが...

マスターブートレコード という用語は、2つのことを指すためによく使用されます。これは、適切には最初のものだけであり、通常は2番目のものに誤って適用されます。

  1. 場所、具体的にはパーティション化されたデータストレージデバイスの最初の512バイトセクター( "LBAセクター0")。この場所には、ブートローダーコードの最初の440バイト(第1ステージのブートローダー)とプライマリパーティションテーブルが保持されます。典型的なMBRの構造の詳細については、Wikipediaの MBR記事 を参照してください。

  2. その場所に保存されているブートローダーコード。 BIOSシステムでは、これはBIOSがドライブから起動するときに実行される最初のコードです。 MBRおよびシステムブートストラップ および 第1段階のブートローダー を参照してください。i386システムでは、このコードは 第2段階のブートローダー をチェーンロードします。 アクティブパーティションのボリュームブートレコード。オペレーティングシステムの実際のブートを行います。

ボリュームブートレコード またはパーティションブートセクターは、パーティションの最初のセクターであり、オペレーティングシステムがそのパーティションにインストールされている場所です。メインのブートストラップコードを格納します。 VBRは、パーティション化されていないデータストレージデバイス(フロッピーディスク、USBフラッシュドライブ、またはパーティション化されていない役割で使用されるハードドライブ)でも使用されます。

マルチブートシステムは ブートマネージャー (例:Grub)を使用します。ブートマネージャーは、独自のブートローダーコードをMBRに配置し、ユーザーが起動するOSを選択できるメニューを提供します。 (技術用語では、ユーザーは使用する第2ステージのブートローダーを選択しています。)


だから、あなたの質問に直接答えるには:

  • それぞれにOSがインストールされている2台のハードドライブには、それぞれ独自のMBRがあります。

    • 両方のMBRには、少なくとも1つのパーティションが含まれます。
    • これらのハードドライブの各パーティションには、独自のVBRがあります。オペレーティングシステムのインストールを含むパーティションは、それらのVBRに第2段階のブートローダーを格納します。データのみのパーティションは、(おそらく)VBRに有効なブートコードがありません。
    • このシステムが起動する場合、これらのMBRの少なくともoneには有効な第1ステージのブートローダーが含まれますが、これは、 BIOSが起動を試みます。

  • Linuxを2番目のドライブにインストールすると、おそらくおそらくがGrubの第1段階のブートローダーをWindowsドライブのMBRに書き込みました。それはかもしれない最初の段階のブートローダーをMBRにまた書きました独自のドライブですが、BIOSがLinuxドライブからの起動を試みない場合は、気付くことはありません。同様に、/ fixmbrを使用すると、WindowsはシステムドライブのMBRにある第1段階のブートローダーを書き換えます。

    • 正直なところ、Win-7のBootrec.exeユーティリティが他のドライブのMBRにも書き込むかどうかはわかりません。おそらくそうする機能がありますが、おそらくデフォルトのアクションではありません。
    • また、Ubuntu9.04のインストーラーがデフォルトで両方のドライブのMBRにGrubをインストールするかどうかもわかりません。必要に応じて、手動で行うこともできます。状況によっては、これは良いことです。Windowsドライブを切断してLinuxドライブから起動しようとしても、Grubの第1段階の起動コードがなければ起動しません。
18
quack quixote

ドライブにはMBRは必要ありませんが、MBRがないと、そのドライブから起動できません。

手始めに、マシンはBIOSが指示されたディスクから起動します。それは必要 a MBRである唯一のディスクです(これはBIOSベースのマシン上にあり、たとえばEFIではなく、市場に出回っているほとんどのマシン上にあります)。

MBRがあると、基本的にドライブが起動可能であることがマシンに通知され(そして、恐ろしい「ディスクまたはディスクエラーがありません」などのメッセージは返されません)、ブートローダーがロードされます。

ブートローダーが読み込まれると、基本的には指示されたとおりに実行されます。これにより、他のブートローダー(たとえば、GrubがWindowsブートローダーを読み込む)またはオペレーティングシステムを読み込むことができます-たとえば、ドライブ/パーティションを選択できます。

したがって、実際のブートドライブにMBR(およびブートローダー)があれば十分です。

3
William Hilsum

MBR(マスターブートレコード)は、書き込みが可能な最初のセクターです。場所とサイズが固定されているため(非常に小さい)、ディスクごとに1つのMBRしか使用できません。

MBRは、BIOSがロードされた後にブートシーケンスで読み取られる最初のセクターです。これを使用して、1つのオペレーティングシステムを起動したり、ロードするシステムを選択するためにgrubやliloなどのブートローダーをロードしたりできます。

1
user27838