Linuxパーティションのブートセクタが空なのはなぜですか?

Linuxパーティションのブートセクタが空なのはなぜですか?

私はLinuxシステムが主にGPTハードディスクのマスターブートレコードに格納されているブートローダとしてGRUB 2を使用していることを知っています。ただし、各パーティションには独自のボリュームブートレコードまたはパーティションブートレコードがあります。このリンク、次の情報が見つかりました。

ブートセクタは、他のパーティションのコンテナである拡張パーティションを除いて、ハードディスクパーティションの最初のセクタです。ブートセクタは512バイトのスペースを提供し、このパーティションからオペレーティングシステムを起動できるコードを含めるためのものです。フォーマットされたDOS、Windows、およびOS / 2パーティションのブートセクタはすぐにこれらのタスクを実行します(さらに、ファイルシステム構造に関するいくつかの基本データも含みます)。

対照的に、Linuxブートセクタは パーティションが空です(ファイルシステムが作成された後でも)。したがって、Linuxパーティションにカーネルと有効なルートファイルシステムが含まれていても、それ自体を起動できません。有効なスタートコードを持つブートセクタには、最後の2バイト(AA55)にMBRと同じマジック番号が含まれています。

Linuxがパーティションブートセクタに何も書かないのはなぜですか?

ベストアンサー1

あなたが間違っています。そうではありません。grub-installそこに書いてほしいと思います。

これを完了すると、そのブートセクタからブートロードを接続できます。

新しい設定でデフォルトでパーティションに書き込まない主な理由は、BIOSがパーティションを見つけることができず、ブートディスクのブートセクタにまだいくつかのブートローダが必要なためです。

しかし、これにはいくつかの利点があります。たとえば、2 つのバージョンの Linux がインストールされている場合、ブートセクタを使用しないバージョンのカーネルをアップグレードしても、新しいバージョンの grub メニューは更新されません。別のバージョンを再起動してupdate-grubそこで実行してください)。そのバージョンをリンクロードすると、最初のメニューで実行することを選択した後、更新された(2番目の)グルーブメニューが表示されます。

おすすめ記事