UEFIはパーティション内のブートデバイスをどのように検出しますか?


0

UEFIはブートデバイスをどのように検出しますか?

/ dev / sda2などのパーティションにLinuxをインストールするだけで、uefiはどのようにブートエントリとして認識できるのでしょうか?

BIOSはすべてのパーティションをチェックしますか?どうやって ?


BIOSまたはUEFI?起動方法がまったく異なります。「アクティブ&ブート可能」というフラグが設定されたパーティションがあるディスクの場合、BIOSはMBRでコードを実行します。UEFIは、レガシーモードの場合を除いて完全に異なります。実際、Googleは各シナリオに対して非常に詳細な回答を得ることができます。ここで修正しようとしている問題は何ですか、または問題は何ですか?
アセジャベリン

uefiのみの質問を修正しました
18年

回答:


5

プレーンPC BIOSはパーティションを理解しません。セクター0(MBR)のみを読み取り、そこで見つかった初期ブートコード(OSによってインストールする必要があります)を実行し、そのブートコード自体がパーティションテーブルを解析する必要があります。

(すべてのMBRブートセクターが同じ方法でこのタスクを実行するわけではありません。WindowsまたはSyslinuxによってインストールされたパーティションは、「アクティブ」とマークされたパーティションを検索するだけです。 、他の人はGPTを読むことができます。)

したがって、BIOSブートメニューにパーティションのみではなくディスクのみが含まれ、オペレーティングシステムを一覧表示する派手なブートメニューは、BIOSではなくOSブートローダー(GRUBなど)によって表示されます。OSカーネルパーティションの検索とOS自体の起動も、BIOSではなくこのブートローダーによって行われます。


BIOSとは異なり、UEFIファームウェアは実際にMBRおよびGPTパーティションテーブルを理解します。ただし、UEFIは依然としてLinuxまたはWindowsパーティションを認識せず、そこからOSを直接起動できません。

代わりに、UEFIファームウェアは特定の「EFIシステムパーティション」、つまりブートローダープログラムを含むFAT32パーティションのみを検索します。ファームウェアは、NVRAMにオペレーティングシステムのリストも保持し、インストールされた各OSは*.efi、システムパーティション内の独自のファイルを指す独自のエントリをそこに追加します。

たとえば、Windowsは常に、Windowsブートローダーであるファイル「\ EFI \ Microsoft \ Bootmfgw.efi」を指す「Windows Boot Manager」というタイトルのエントリを追加します。

したがって、UEFIブートメニューには、いくつかのタイプのブートエントリを含めることができます。

  1. NVRAMに保存された手動で追加されたエントリ-カスタムラベルを使用し、EFIシステムパーティション内の特定のファイルを指します。
  2. EFIシステムパーティション内にファイルがある自動検出されたディスク\EFI\Boot\BootX64.efi –これらにはカスタムラベルはなく、「UEFI:」の後にディスクのモデルが続きます。
  3. 有効な場合-BIOS MBRを備えたディスク(互換モードでの起動用)。

ご覧のとおり、UEFIファームウェアは1つのパーティション(EFIシステムパーティション)のみを使用しますが、残り(OSカーネルパーティションの検出)は、オペレーティングシステムのブートローダーによって引き続き実行されます。

UEFIでも、OSまたはカーネルバージョンを選択できるグラフィカルブートメニューも、UEFI自体ではなく、OSブートローダーによって通常表示されます。


とはいえ、Linuxブートローダーはまだルートパーティションについて正確には何も知りません。Linuxのブートローダーの主な仕事は、カーネルイメージ(vmlinuzで)とinitramfsのアーカイブを検索して、カーネルにコマンドラインオプションを提供することである- Linuxの構文でルートパーティションの名前が含まれている、などのroot=/dev/sda2root=UUID=XYZ-ABC

Linuxカーネルが起動されると最後に、それはなり自体が提供された名前に一致するパーティションを検索し、それをマウントします/。(これは、内部的にカーネルによって、またはより柔軟性が必要な場合はinitramfsによって実行できます。)


非常に素晴らしく明確な答えです!
ヘネス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.