MBRブートローダについて知っていますが、MBRブートローダは通常コンピュータを保護モードにし、制御をOSカーネルに渡す必要があります。ここ。しかし、UEFIブートローダとは何ですか?私が読んだように、UEFIはマイクロシステムです(BIOSに似ていますが、より多くのことができます)。しかし、UEFIの場合、ブートローダは何をしますか?
私はそれについて読もうとします。オペレーティングシステム開発 Wikiしかし残念ながら、私はほとんど何も得ませんでした。おそらく私の英語が非常に苦手だからです。
UEFIブートローダがオペレーティングシステムのカーネルをロードして制御を渡す一般的な手順を誰かが私に説明できますか?サンプルが見つかりません。
ポリスチレンもちろん、すべてのオペレーティングシステムは、コンピュータアーキテクチャとは異なりますが、64ビットまたは32ビットオペレーティングシステムカーネルを持つx86_64アーキテクチャを指します。
答え1
UEFIは、ファームウェア自体がブートローダーとして機能するため、追加のブートローダー(またはブートマネージャー)を持つことはできません(少なくとも他のブートローダー/ブートマネージャーの実行)。今まで見たもののほとんどは不足しています。 bootmanager("Boot Menu:...") の役割 - または正しくプレイされていません。
ブーツ荷物を載せる人次の手順実行可能ファイルをロードして実行できます(他のブートローダ、ブートマネージャ、カーネル、または例:memtest86)。 UEFI SecureBoot の場合、ファームウェアでバイナリの署名確認フックを実行する役割もあります。
ブーツマネージャーいくつかの事前設定されたメニューを読み取るか、利用可能なファイルシステムと起動ターゲットを検索することができます(またはその両方が可能です)再検索)ユーザーに選択するメニューを提供します。
「マイナー」の場合は、UEFIファームウェアからコンパイルされたLinuxカーネルを起動してx86_64システムのFAT32 EFIシステムパーティションに直接配置できますCONFIG_EFI_STUB=y
。\EFI\BOOT\bootx64.efi
ただし、ディストリビューションではこれをサポートしていないようで、代わりに grub2 を使用することをお勧めします。
Artemはほぼ正しいリンクを提供しました。実際に必要なのはロッドの素晴らしいリンクです。Linux用EFIブートローダの管理:基本原則
PS: может, пригодится構造の代替療法:)