web-dev-qa-db-ja.com

UEFIはBIOSの上で実行されますか?

このページ: https://wiki.osdev.org/UEFI とかなり信頼できる他のいくつかは、UEFIがBIOS(レガシーBIOS)で実行されるアプリケーションの一種であり、ファームウェアではないことを言及しています。正解です。他の何人かは、一緒に実行するだけだと主張しています(BIOS + UEFI)。 これは、UEFI「UEFIBIOS」を誤って呼び出すことではありません(私の質問ではなく、別のことです)。

しかし、私が知る限り、BIOSとUEFIはファームウェアインターフェイスであり、相互に代わるものです。 BIOSはレガシーであり、UEFIはそれに代わるより高度な最新の代替手段です。

それで、現実は何ですか?

4
Tom Milberg

リンクしている記事 https://wiki.osdev.org/UEFI は、他の誰もそのように使用していない奇妙な用語を使用しています。その記事では、BIOSが最初に実行され、次にUEFIが実行されると書かれていますが、実際にはそうではありません。

BIOSという用語の「口語的な」定義または使用法、および技術的な定義があります。

(その記事の用語はそれらのどちらでもない、その記事の用語はかなりずれています)

それで、今のところ、その記事のUEFIとBIOSの奇妙な定義を脇に置いて、UEFIとBIOSの定義とそれらがどのように使用されているかを見てみましょう。

BIOSという用語の口語的な定義または使用法は、BIOSをBIOSと呼ぶだけでなく、UEFIをBIOSと呼ぶことです。それは、一般的にBIOSという用語を使用しているためか、BIOSが長い間、エンドユーザーや、ほとんどのコンピューター技術者にとって、それは同じように見えます。また、UEFIを意味するUEFIBIOSと言うこともあります。これは、一般的にBIOSを使用しており、UEFIをBIOSの一種と見なしているためである可能性があります。あるいは、UEFIが何であるかわからない場合があり、その後にWord BIOSを貼り付けることで、エンドユーザーとほとんどのコンピューター技術者の観点から同じように見えるため、人々にとってより明確になると考えているためです。例えば構成ページがあり、起動順序を選択できます。

https://www.howtogeek.com/56958/htg-explains-how-uefi-will-replace-the-bios/ "お使いのPCで「BIOS」という用語が使用されている場合でも、最新のPCでは今日購入すると、ほぼ確実にBIOSではなくUEFIファームウェアが付属します。」

そのため、コンピュータは時々口語的な定義を使用します。たとえば、BIOSに移動するにはPush F2/Escape/F10/whateverと表示されます。または、「何でも押してセットアップに移動します」と表示された後、「BIOSバージョン..」と表示されます。実際には、技術的にはBIOSではなく、UEFIです。

プロセッサが何かを実行する前に、コンピュータの電源がオンになったときに起こることがいくつかあります。つまり、ファームウェアが「リセットベクトル」で実行される前、つまりBIOSまたはUEFIの前です。次に、何が起こるかについていくつか説明します http://www.drdobbs.com/parallel/booting-an-intel-architecture-system-par/232300699?pgno=1 。 (そして記事はその後も続きます)。プログラム可能なCPLDがあり、ソフトウェア、つまりファームウェアを実行します。それは非常にあいまいです。マザーボードのファームウェアと言っても、これをほとんど意味しません。そのファームウェアは、電源とクロックを調整してから、CPUをリセットして起動させます。

Word BIOSは、それほど早くは何にも適用されないと思います。そしてUEFIもそうしませんでした。したがって、BIOSに関する記事のウィキペディアのような情報源がBIOSが「電源を入れたときに実行される最初のソフトウェア」であると述べている場合、2つの理由から技術的に正しくありません。 A)システムがUEFIではなくBIOSを実行していたとしても、BIOSが最初に実行されるわけではありません。 B)システムがUEFIを実行している場合、BIOSは実行されません。

CPUがフェッチデコード実行サイクルを開始すると、リセットベクターと呼ばれるメモリの一部から始まります。これはBIOSまたはUEFIを持っているかポイントしています。

おそらく古い情報源の中には、UEFIを意味するUEFIBIOSについて話しているものもあります。たとえば、2013年に書かれたこのソース https://www.alphr.com/features/381565/uefi-bios-explained はUEFI BIOSについて語っていますが、それはそれほど意味がなく、用語に該当しますUEFI、これはUEFIBIOSが意味するものです。 2011年に言及したドブス博士のリンクでも、UEFIを意味する「UEFI BIOS」という語句が使用されています。あなたのソースはより奇妙に用語を使用しています。

BIOSの口語的な定義(一般的な用語として)は、おそらくかなり古く、時代遅れです。

UEFIとBIOSの一般的な用語が必要な場合は、「CPUによって実行されるマザーボードファームウェア」が適切です。

技術的な定義/使用法、そして実際に現在のものは、UEFIがBIOSに取って代わることです。

その記事とその独特の奇妙な間違った用語を見てください

リンク先のosdev記事は、それだけが使用する見慣れない用語を使用しています!共通しているBIOSまたはUEFIの最初の部分をBIOSと呼んでいるようです。したがって、UEFIを使用している場合は、BIOS上で実行されていると思われるかもしれません。その記事以外の人がBIOSをこのように定義したり、BIOSという用語をそのように使用したりすることはないと思います。

これはあなたがリンクした記事からの非常に誤解を招く奇妙な段落です

よくある誤解は、UEFIがBIOSの代替であるというものです。実際には、レガシーマザーボードとUEFIベースのマザーボードの両方にBIOS ROMが付属しています。これには、サードパーティのコードをメモリにロードしてジャンプする前に、システムの初期電源投入構成を実行するファームウェアが含まれています。従来のBIOSファームウェアとUEFIBIOSファームウェアの違いは、コードを見つける場所、システムにジャンプする前にシステムを準備する方法、および実行中にコードを呼び出すために提供する便利な機能です。

したがって、前述のように、BIOSまたはUEFIの最初の部分をBIOSとして共有しているようです。これは非常に慣例にとらわれない用語で、他のソースではそうはいきません。

この記事またはそのWordで参照している実際の機能を見ると、用語が少しずさんになることがありますが、この記事は奇妙な使い方をしているため、かなり独断的です。

UEFIがBIOSに取って代わるのは「誤解」ではなく、真実です。

また、UEFI BIOSという用語は非常に不明確であり、避けるのが最善です。

ちなみに、UEFIが格納されているフラッシュメモリは、ROMメモリであるEEPROMメモリです。古いROMメモリではなかったメモリ(一部のソース、その程度、およびBIOSに関するWikipediaの記事でさえ、フラッシュメモリはROMメモリ

そのosdev.orgの記事で使用されているBIOSとUEFIの奇妙な使用法についてあまり考える価値はないでしょう。しかし、数人のOS開発者と話をしたことで、多くの人がUEFIとBIOSを、それらが提供するAPIについてより多く見ています。 BIOSとUEFIの技術。

その記事で、CPUがUEFIの前にファームウェアを実行するという提案を正当化する1つの試みは、「CPUは16ビットモードで起動します。UEFIは32ビットまたは64ビットで実行されます。したがって、最初にそこに到達する必要があります」という主張でした。 (そして彼らはBIOSに関するそのウィキペディアの記事の最初の段落であり、それはそれだと言うかもしれません-最初に実行されるBIOS)。しかし、その主張は間違っていることが証明される可能性があります。 16ビットで始まるUEFIを指すことができます。

あなたがリンクしている記事は、UEFIの前にある部分があることを示唆しようとしていました..ありません。最初の16ビット部分でさえUEFIの一部です。私が話した技術担当者はよく知っていて、私に指摘しました https://github.com/tianocore/edk2/tree/master/UefiCpuPkg/ResetVector/Vtf 証拠として、それはEFIからのものだと言いましたコードベースであり、ブートプロセスの非常に初期の16ビット部分のコードです。それは用語の通常の(正しい!)使用と一致しているので、彼は正しいと確信しています!

技術的には、UEFI仕様の一部はUEFI-PI仕様またはPI仕様と呼ばれる仕様に組み込まれていますが、UEFI仕様の実装はすべてPI仕様を実装します。 https://www.insyde.com/press_news/blog/uefi-pi-13-review-part-1-i2c-bus-protocol そして、PI仕様にはUEFIのすべてのフェーズがあります- https://github.com/tianocore/tianocore.github.io/wiki/PI-Boot-Flow 。人々がUEFIに言及するとき、彼らはUEFI仕様とPI仕様に何かを含める傾向があります。

BIOSまたはUEFIは、「リセットベクタ」と呼ばれるメモリの一部から始まります。

UEFI(これまでのところ)はレガシーBIOSモードをサポートしています

UEFIは、EFI以前のファームウェア(つまり、「レガシーBIOS」の時代)をシミュレートできます。通常のUEFIで実行されないOSのために。これはモードです。CSM(互換性サポートモジュール)を備えたUEFIと呼ばれます。 UEFIがそのモードでレガシーBIOSをシミュレートする場合。

このモードは、たとえば2020年までに段階的に廃止される可能性があります。 https://arstechnica.com/gadgets/2017/11/intel-to-kill-off-the-last-vestiges-of-the-ancient -pc-bios-by-2020 /

それでは、あなたを引用してあなたの質問に答えましょう

このページ: https://wiki.osdev.org/UEFI そしてかなり信用できる他のいくつか

「creditable」とは、「信頼できる」という意味であり、そのページはそれほど信頼できるものではありません。「cos OS Devsは、OSを提供するAPI以外のUEFIとBIOSの詳細をあまり気にしないことがよくあります。彼らの関心はOS開発にあります。

[そのページ] UEFIはBIOS(レガシーBIOS)で実行される一種のアプリケーションであると述べています

そのページで使用されている用語に基づくと、はい。ただし、そのコンテキストではBIOSをレガシーとして参照していない可能性があります。

そのページでは、一般的にBIOSという用語を使用しています。したがって、UEFIBIOSへの参照。

また、最初に実行されるファームウェアの側面として、現在と同じBIOS(UEFIではない)という用語を使用しています。 (別の用語では、UEFIのその部分が考慮されます)。私はそれをあまり真剣に受け止めません。

UEFIはファームウェアです。現状のまま/レガシーBIOSでした。

そして[UEFIは]ファームウェアではありません。

番号。

レガシーBIOSはファームウェアです。しかし、10年以上も使用されていません。

UEFIはファームウェアです。

どちらもそうです。

一緒に実行するだけだと主張する人もいます(BIOS + UEFI)。

いいえ。BIOSが一般的な用語であるという用語があります(つまり、特にレガシーBIOSではありません)。そしてUEFIは特定のものです。

また、UEFIには「レガシーBIOSモード」があります。 (ワード「モード」に注意してください。レガシーBIOSはレガシーBIOSモードと同じではありません)。レガシーBIOS(Wordモードなし)は、UEFIではなくBIOSです。

これは、UEFIを誤って「UEFIBIOS」と呼ぶことではありません(私の質問ではなく、別のことです)。

それはその記事で使用されている用語であり、ある程度の根拠があります。たとえば、BIOSに関するWikipediaの記事では、一般的な意味でBIOSという用語を使用していますが、UEFIはBIOSの後継であると述べています。しかし、UEFIという用語は、何年も前に遡ってはなりません。一方、そのウィキペディアの記事に記載されているBIOSの定義は、コンピューターの起動時(つまり、CPUの起動時)に実行されるファームウェアとして定義されているため、時間的に後方または前方に投影される可能性があります。したがって、そのロジックによって、UEFIBIOSと言うことができます。同じBIOSウィキペディアのページにあるように、UEFIは「後継者」です。

ただし、前述のように、「UEFIBIOS」という用語を使用する必要はありません。そして、それはあまり明確な用語ではありません。 UEFI BIOSという用語は、UEFIが行ったことの種類を人々に示すために使用されることがありました。また、BIOSという用語が定着していると感じたためです。一般的には「マザーボードファームウェア」と言えます。

そして、どんな配線/電子機器やファームウェアでさえ、CPUを取得しますリセットベクターに行くのはBIOSでもUEFIでもありません。 https://stackoverflow.com/questions/22312428/what-memory-is-used-for-storing-the-reset-vector

しかし、私が知る限り、BIOSとUEFIはファームウェアインターフェイスであり、相互に代わるものです。 BIOSはレガシーであり、UEFIはそれに代わるより高度な最新の代替手段です。

ええ、それは通常の用語です

(ファームウェアインターフェイスではなく、ファームウェア!)。

そしてそれらはOSにインターフェース/ APIを提供します。

それで、現実は何ですか?

それ.. ^そして私が行った調査は、質問者の投稿のリンクされた記事が本当に間違っていることを示しています。 UEFIはBIOSを置き換えます。コンピューターはUEFIを実行するか、非常に古い場合はBIOSを実行します。時々、構成画面ではBIOSという用語が使用されますが、これはUEFIの一部であり、技術者はしばしば飛び込んで修正し、UEFIをBIOSではないと言います。 UEFIであっても、ブートローダーの前にCPUによって実行されるものすべてにBIOSという用語を使用する人もいますが、口語表現であり、UEFIの場合はUEFIと言う方が少し不愉快です。また、UEFIを実行しているコンピューターも、その記事のようにBIOSを実行して起動すると言うのは、完全に間違っています。その記事の作者は、UEFIに起動のごく初期に実行される16ビット部分さえ含まれていることに気付いていない可能性があります。

3
barlop

私は専門家ではありませんが、彼らとはよく仕事をしています。古い学校のBIOSは、最新のUEFIとはまったく異なる環境であり、UEFIが機能するために基盤となるBIOSを必要としないことを理解しています。いわばワンストップショップです。基本的に、従来のレガシーシステムが派手なGUIをサポートするために使用したよりも多くのオンボードメモリを使用し、起動時間の短縮などを行うために使用する多くの機能を備えていますが、復元を行うツールとともに並列起動技術を使用していますいくつかの利点を挙げれば、レンガのマザーボードは簡単ではないにしてもスムーズです。しかし、TLDRバージョンは、いいえ、UEFIは古いレガシーBIOSの上で実行されません。

1
Craig

はい、UEFIはレガシーBIOSに代わるものです。これを確認するには、いくつかのことを理解する必要があります。いくつかの要点を、関連する事実の参照と抜粋とともにリストしました。

  1. UEFIとは正確に何ですか
  2. UEFI進化の要因

1.UEFIとは正確には何ですか

UEFIはコンピューター用のファームウェアです Intelによって開発および公開されています 。ほとんどのBIOSファームウェアとは異なり、UEFIファームウェアは IBM PC互換クラス にないシステムで見つけることができます。

注:UEFIを搭載した新しいPCでは、従来のPC BIOSに慣れている人々を混乱させないように、「BIOS」と呼んでいます。 PCで「BIOS」という用語が使用されている場合でも、現在購入している最近のPCには、BIOSではなくUEFIファームウェアが付属していることはほぼ間違いありません。

ソース

拡張可能なファームウェア

UEFIはBIOSのようなファームウェアの拡張ですが、 (1)ディスクからブートするだけでなく、ディスクパーティションのエントリから読み取ることができます。 (2)特定のディスクの特定の場所にある特定のブートローダーから起動します。

UEFIによる実行のためのブートローダーの互換性

EFI仕様 は、すべてのUEFIファームウェアがその形式でコードを実行できる必要がある実行可能形式を定義します。ブートローダーがネイティブUEFI用に作成されている場合、この形式で作成されます。

下位互換性

下位互換性のために、ほとんどのUEFIファームウェアはBIOSファームウェアと同じようにシステムを起動し、MBRを探してそこからブートローダーも実行できます。ファームウェアによっては、これはBIOSレガシーモードBIOS互換モードと呼ばれる場合があります。 )、または他の同様の用語。

注:UEFIは、すべてのIBM PC互換パーソナルコンピューターに存在する基本入出力システム(BIOS)ファームウェアインターフェイスを置き換えることを目的としています。実際には、ほとんどのUEFIイメージはBIOSサービスのレガシーサポートを提供します。

ソース


2.UEFI進化の推進要因

注:主要なコンピューターメーカーが業界として使用および開発するために集合的に合意していることを明確にし、確認するのに役立つリソースをいくつか示します。彼らが影響を与えるのを助ける市場シェアの標準。

私は主要なコンピューターメーカーのほとんどが参加していて、次世代タイプのテクノロジーを使用して、維持できない時代遅れで不十分なテクノロジーを置き換えることに同意したときだと思いますテクノロジーの変化と改善に伴う構成の要求に対応する場合、BIOSはレガシーであり、多くの追加の調査と分析がなくても時代遅れのテクノロジーであると「想定」するのが安全です。

  1. EFIに関する10の最も一般的な誤解の明確化 ドキュメントを最初から最後まで読んで、役立つ可能性のある多くの明確な事実に触れていることをお勧めします。

    Unified Extensible Firmware Interface(UEFI)フォーラムは、プラットフォームテクノロジーの進化を可能にするために協力して機能する、世界クラスの非営利業界標準化団体です。フォーラムは、業界のコラボレーションと、プラットフォームの初期化とファームウェアの操作を簡素化および保護する標準化されたインターフェイスの提唱を通じて、ファームウェアの革新を推進していますbootstrap操作。両方とも250の業界をリードするテクノロジー企業であるUEFI仕様は、ビジネスと技術の効率を促進し、パフォーマンスとセキュリティを向上させ、デバイス、プラットフォーム、システム間の相互運用性を促進し、次世代テクノロジーに準拠します。

    ソース

  2. BIOSを「レガシー」とも呼ぶ1つの投稿で、MicrosoftがUEFIについて語っています...

    デバイスが起動すると、ファームウェアインターフェイスがPCの起動プロセスを制御し、Windowsまたは他のオペレーティングシステムに制御を渡します。 UEFIは、古いBIOSファームウェアインターフェイスおよびExtensible Firmware Interface(EFI)1.10仕様に代わるものです。 AMD、AMI、Apple、Dell、HP、IBM、Insyde、Intel、Lenovo、Microsoft、Phoenix Technologiesなど、140を超える大手テクノロジー企業がUnified EFIフォーラムに参加しています。

    ソース

  3. 状況によっては、これらの点も認識することが重要だと思います。

    • Unified Extensible Firmware Interface ForumまたはUEFIForumは、起動プロセスを近代化するためのいくつかの主要なテクノロジー企業間の提携です。取締役会には、AMD、American Megatrends、ARM、Apple、Dell、Hewlett Packard Enterprise、HP Inc.、IBM、Insyde Software、Intel、Lenovo、Microsoft、PhoenixTechnologiesの13社の「プロモーター」企業の代表者が含まれています。

      ソース

    • Unified Extensible Firmware Interface(UEFI)は、オペレーティングシステムとプラットフォームファームウェア間のソフトウェアインターフェイスを定義する仕様です。 UEFIは、もともとすべてのIBM PC互換パーソナルコンピュータに存在していた基本入出力システム(BIOS)ファームウェアインターフェイスを、 BIOSサービスのレガシーサポートを提供するUEFIファームウェア実装。 UEFIは、オペレーティングシステムがインストールされていなくても、リモート診断とコンピューターの修復をサポートできます。

      ソース

1
Pimp Juice IT

いいえ。UEFIはBIOSの代わりになります。

CSM-互換性サポートモジュールのようなものがあります。これは、BIOSをエミュレートしてBIOSでのみ動作するオペレーティングシステムを起動するUEFIモジュールです。これはUEFIのオプション部分です。

BIOSとUEFIは十分に異なるため、ブートROMを備えた周辺機器(ビデオカードやRAIDカードなど)は、ブート時に使用できるようにBIOSまたはUEFI固有のファームウェアを必要とします。 CSMが有効になっている場合は、BIOSでのみ機能するファームウェアを使用できます。


マザーボードにはROMデバイス、多くの場合SPIフラッシュROMが付属しています。これは、BIOSインターフェイスと機能のみをサポートするかどうかに関係なく、システムファームウェアを保持します。 UEFIのインターフェースと機能、またはその両方。これが意味するところだと思います。

「実際には、レガシーマザーボードとUEFIベースのマザーボードの両方にBIOS ROMが付属しています。これには、サードパーティのコードをメモリにロードしてジャンプする前に、システムの初期電源投入構成を実行するファームウェアが含まれています。」

これは、上記のOSDevwikiリンクからのものです。

正直なところ、私はそれが何を言おうとしているのか本当に理解していませんが。 BIOSとUEFIが全体的に同じ機能を実行していると回りくどい言い方をしているようです。

ファームウェア開発者は、当時のほとんどの既存のBIOSファームウェアコードを使用しているか、または使用しており、その周りにコードを追加してUEFIと互換性がある可能性があります。これにより、UEFI以外のオペレーティングシステムを起動するためのCSMの実装/サポートも簡単になります。

UEFI 標準は間違いなく置き換え BIOSの「標準」を意図しています-そしてここでの「標準」は、企業から生まれた「事実上の標準」であったため、引用符で囲まれています(Compaq以降)1981年にリリースされたIBMのオリジナルの5150 PCのリバースエンジニアリングとコピー。UEFIは、uefi.orgからダウンロードできる仕様の実際の標準です。

2020年に、IntelはBIOSをサポートしなくなり、UEFIのみにコードとリソースを提供します。

0
LawrenceC