MBR はどのようになるべきでしょうか?

MBR はどのようになるべきでしょうか?

コンピュータの起動プロセスについて読んでいて、コンピュータが からブートローダのコードをロードすることを知りました。そこで、次のようMBRにして自分のコンピュータを見てみたいと思いました。MBR

sudo dd if=/dev/sda of=mbr bs=512 count=1

Vimで開いて実行し、:%!xxdファイルの16進表示を取得しました。このファイルは次のようになります。

ここに画像の説明を入力してください

インターネットで見つけた情報によると、このレコードの最初の 446 バイトはローダーのコードであるはずです。しかし、私の場合はゼロだけです。ブートローダーがこのようになるとは思いませんが、私のコンピューターはまったく問題なくロードします。なぜそうなるのでしょうか。なぜMBR(パーティション テーブルを除く) ゼロだけなのに、コンピューターはロードするのでしょうか。GRUBブートローダーとして持っています。

答え1

おそらく古いテキストを読んだのでしょう。今日のコンピューターは MBR 経由では起動しません。より正確に言うと、移行期間中であり、一部のコンピューターは MBR を使用し、一部のコンピューターは使用しません。

原因の 1 つは、MBR では 2 TiB を超えるドライブのパーティション分割が許可されないことです。

はい、通常 MBR が配置されている場所に dd を実行しましたが、そこにはコードがなく、パーティション テーブルにはドライブ全体にわたる 1 つのエントリのみが含まれています。これはいわゆる保護 MBR であり、ディスクには GUID パーティション テーブル (GPT) レイアウト (つまり、他のパーティション システムを使用) があり、コンピューターはおそらく UEFI 経由で起動します。おそらく、FAT32 ファイル システムの小さなパーティションがあり、これは EFI システム パーティション (ESP) と呼ばれ、EFI/BOOT/bootx64.efi ファイルが含まれています。このファイルはブート ローダー (grub、または grub をすぐに実行するスタブ ローダー) であり、ファームウェアによって実行されます。または、任意の EFI 実行可能ファイルをブートするようにファームウェアをセットアップすることもできますが、それでも ESP に存在する必要があります。

ロードされたシステムに空でない /sys/firmare/efi ディレクトリがある場合、Linux で UEFI が起動したことを確認できます。

関連情報