UEFIとGrubの関係は何ですか?

UEFIとGrubの関係は何ですか?

私は同じSSDでwin10とLinuxをダブルブートし、Linuxをインストールするときにgrubを含めました。インストールが完了すると、ESPパーティションに新しいLinux efiファイルが追加されたことがわかります。今私はLinuxを完全に削除することにしました、私が最初にしたことは、EasyUEFIというツールを使用してefiブートエントリを削除することでした。再起動してF11を押すとアイテムが消えました。

しかし、私を混乱させる2つの部分があります。

  1. そのエントリを削除した後でも、Linux efiファイルはまだESPパーティションにあります。これらのefiファイルの存在は、ユーザーが起動時にF11を押したときにその起動オプションがあるかどうかをUEFIが知ることができる方法だと思います。これは、起動オプションが他の場所に記録され、EasyUEFIツールがそれを削除することを意味します。 ESPパーティションにありますか?

  2. 私が正しく理解したかどうかはわかりません。 UEFIブート(インストール中に追加されたefiファイルや他のブートレコード)とgrubは同じですか?または、ユーザーがefiブートエントリを選択すると、grubブートメニューに移動しますが、これは別のものですか? efiブートがすでにブート選択を処理できる場合、その背後にあるグラブは意味がありませんか?

あなたより

ベストアンサー1

1.) EasyUEFI を使用して UEFI ブート変数を編集します。これは、BIOS設定と同様にシステムNVRAMに保存されます。 Linuxでは、ユーティリティを使用して編集できますefibootmgr 。通常のWindowsでは、bcdedit /enum FIRMWAREリストを一覧表示し、他のオプションを使用して編集できます。

ブート変数が定義されていない場合、UEFIは自動的に特定の代替パスをチェックします。 64ビットx86ハードウェアの場合、このパスはです\EFI\boot\bootx64.efi。このファイルがESPパーティションまたはFAT32リムーバブルメディアにある場合、そのディスクまたは他のメディアは自動的に見なされます。デフォルトのUEFIスタイルは「起動可能」でなければなりません。

2.)UEFIはシステムファームウェアです(BIOSに似ていますが、最新バージョン)。 GRUBはブートローダなので、関連するハードウェアアーキテクチャのファームウェアが期待するすべてを遵守する必要があります。そうしないと、ファームウェアはGRUBをロードできません。

したがって、GRUBのコアはさまざまな形をとることができます。 BIOSの場合、GRUBはMBRの一部のブートコード+ MBRと最初のパーティションの先頭の間のディスクブロックに含まれる追加のコードの形式を取ります。 UEFIを使用すると、GRUBのコア(または全体)がgrubx64.efiESPパーティションから単一のファイル形式を取ることができます。

GRUBには独自のアーキテクチャ識別子があります。 GRUBのBIOSバージョンをversionと呼びi386-pc、64ビットx86ハードウェアのUEFIバージョンをversionと呼びますx86_64-efi。たとえば、古いシステムをイメージングし、イメージを新しいハードウェアに復元するときに、新しいシステムが別のファームウェアスタイルを使用することがわかった場合(たとえば、古いシステムはレガシーBIOSを使用し、新しいシステムはUEFIを使用します)。 ESPパーティションを追加し、i386-pcGRUBパッケージのバージョンをx86_64-efiGRUBパッケージのバージョンに置き換えてから、GRUBを再インストールする必要があります。

おすすめ記事