
私は同じSSDでwin10とLinuxをダブルブートし、Linuxをインストールするときにgrubを含めました。インストールが完了すると、ESPパーティションに新しいLinux efiファイルが追加されたことがわかります。今私はLinuxを完全に削除することにしました、私が最初にしたことは、EasyUEFIというツールを使用してefiブートエントリを削除することでした。再起動してF11を押すとアイテムが消えました。
しかし、私を混乱させる2つの部分があります。
そのエントリを削除した後でも、Linux efiファイルはまだESPパーティションにあります。これらのefiファイルの存在は、ユーザーが起動時にF11を押したときにその起動オプションがあるかどうかをUEFIが知ることができる方法だと思います。これは、起動オプションが他の場所に記録され、EasyUEFIツールがそれを削除することを意味します。 ESPパーティションにありますか?
私が正しく理解したかどうかはわかりません。 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.efi
ESPパーティションから単一のファイル形式を取ることができます。
GRUBには独自のアーキテクチャ識別子があります。 GRUBのBIOSバージョンをversionと呼びi386-pc
、64ビットx86ハードウェアのUEFIバージョンをversionと呼びますx86_64-efi
。たとえば、古いシステムをイメージングし、イメージを新しいハードウェアに復元するときに、新しいシステムが別のファームウェアスタイルを使用することがわかった場合(たとえば、古いシステムはレガシーBIOSを使用し、新しいシステムはUEFIを使用します)。 ESPパーティションを追加し、i386-pc
GRUBパッケージのバージョンをx86_64-efi
GRUBパッケージのバージョンに置き換えてから、GRUBを再インストールする必要があります。