GNU/Linux >> Linux の 問題 >  >> Linux

複数のブートローダーはEfiシステムパーティションでどのように機能しますか?

私のESPは次のよ​​うになります

Boot Dell fedora Microsoft

Bootディレクトリでは、bootx64.efiという名前のブートローダーです。 私が理解しているのは、最初に開始するデフォルトのブートローダーです。しかし、fedoraディレクトリには、grubx64.efiという名前の別のブートローダー(grub2)があります。 。

これらのブートローダーのそれぞれの機能は何ですか? boot-menuを提供するのはどれですか ?

承認された回答:

bootx64.efi 最初に始めません。ほとんどの場合、それはまったく開始されません。

EFIファームウェアには独自の「ブートメニュー」があります。これはGRUBによって表示されるメニューに似ていますが、ブートプロセスの初期段階にあります。 GRUBで実行するLinuxカーネルを選択できるのと同様に、EFIブートメニューでは、実行するEFIブートプログラムを選択できます。選択肢は、GRUB自体やWindowsブートローダーなどです。 (また、GRUBのメニューと同様に、EFIブートメニューは通常、デフォルトでは表示されません。起動時にホットキーを押すと表示されます。)

EFIブートメニューのエントリは、マザーボードのNVRAM(「BIOS設定」メモリ)に保存されている構成データによって定義されます。この構成はファイルに保存されませんが、Fedoraではefibootmgrを使用して表示できるはずです。 プログラム。各エントリには、人間が読める形式の名前(メニューに表示)、EFIシステムパーティションの起動プログラムへのパス、およびホットキーを押さないときにデフォルトで起動されるエントリを決定する優先度番号が含まれます。メニューを表示します。

これらのNVRAMブートエントリは、(通常)オペレーティングシステムのインストーラによって作成されます。 OSをインストールし、ブートローダーファイルをEFIシステムパーティションに配置すると、NVRAM構成にエントリが追加され、新しいブートローダーがEFIブートメニューで使用できるようになります。 (多くの場合、その新しいエントリもデフォルトになるため、インストールしたばかりのOSは、EFIブートメニューを開いて手動で選択しなくても、自動的に起動します。)

Boot/bootx64.efi プログラムは、ディスク上の他のブートプログラムを参照するNVRAMブートエントリでEFIが設定されていない場合のフォールバックです。起動可能なCDやUSBドライブなどのリムーバブルメディアでは重要ですが、ハードドライブでは通常使用されません。 Windowsインストーラーは、Boot/bootx64.efiを作成します フェイルセーフとして; Microsoft/Boot/bootmgfw.efiの単なるコピーです (少なくともWindows 7では、他のバージョンについてはわかりません)。

関連: `-z`オプションを使用できない場合に、` head -z`に相当するものを実行するにはどうすればよいですか?

私のシステムでは、そのMicrosoft bootx64.efiを置き換えました EFIシェルのコピーを使用しているため、NVRAMブートエントリがなく、実際にフォールバックブートローダーに依存している場合は、シェルに移動して状況を調べ、代わりに他のブートプログラムの1つを手動で実行できます。システムにWindowsを自動的に起動させるだけです。 (システムが正常に動作している場合でもEFIシェルを開始できるように、GRUBメニューにもエントリを追加しました。)


Linux
  1. Windows10とMXLinuxをデュアルブートする方法

  2. EUFI対応システムのGRUB

  3. 特定のシステムにブートパーティションが必要かどうかを判断するにはどうすればよいですか?

  1. GRUB2 (CentOS/RHEL 6) を使用して EFI ブートローダーで NUMA を無効にする方法

  2. /boot パーティションは常に必要ですか?

  3. グラフィカル サーバーなしで Linux システムを起動する方法

  1. ManjaroとWindows10をデュアルブートする方法

  2. Grub2メニューに新しいオペレーティングシステムのブートエントリを追加するにはどうすればよいですか?

  3. 方法:Journalctlを使用してシステムログを管理する