私は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番目の)グルーブメニューが表示されます。