「BIOSで起動」と「UEFIで起動」の違いは何ですか


118

現在、Windows 8はUEFIブートローダーをサポートしており、BIOSとは異なることを読みましたが、Googleで何度も検索した結果、私にはわかりません。

念頭に置いていくつかの点は以下のとおりです。

  • ご存知のように、BIOSはブートオプションにアクセスする重要な部分です。UEFIは今それを行うのでしょうか?どうやって?

  • BIOSではなくUEFIで起動していることをどのようにして知ることができますか?

  • 「BIOSで起動」と「UEFIで起動」の本当の違いは何ですか?

回答:


134
  • BIOSはブートオプションにアクセスするための重要な部分であることは誰もが知っているとおりです。それで、UEFIはそれを行うでしょうか?どうやって?

BIOSは、ハードディスク上の最初のセクターを読み取って実行することにより起動します。このブートセクターは、追加のコードを見つけて実行します。BIOSシステムは、スペースの制約とBIOSが16ビットコードを実行するために非常に制限されていますが、最新のコンピューターは32ビットまたは64ビットCPUを使用します。対照的に、EFI(またはEFI 2.xであるUEFI .efi)は、EFIシステムパーティション(ESP)と呼ばれるハードディスク上のパーティションからEFIプログラムファイル(ファイル名拡張子付き)を読み込むことで起動します。これらのEFIブートローダープログラムは、ハードディスクからファイルを読み取るなどのEFIブートサービスを利用できます。

実際問題として、複雑なBIOSモードブートローダーを備えたLinuxのようなOSを使用している場合、EFIモードブートは、GRUB 2(最も一般的なBIOSモードブートローダーLinux用)はEFIの下で動作するように移植されており、多くのLinuxディストリビューションはデフォルトでEFIシステムにGRUB 2をインストールします。OTOH、GRUB 2を他のEFIブートローダーと交換または補完できます。実際、Linuxカーネル自体がEFIブートローダーになる可能性があります。3.3.0カーネルでこれを行うためのコードが追加されました。このように使用すると、EFI自体がLinuxカーネルをロードして実行するか、rEFIndgummibootなどのサードパーティブートマネージャーを使用して、起動するOSまたはカーネルを選択できます。

  • BIOSではなくUEFIで起動していることをどのようにして知ることができますか?

ルートが言うように、ファームウェアのユーザーインターフェイスには手がかりがあります。ただし、これらは信頼性が低く、コンピューターによって異なります。確認する唯一の方法は、コンピューターの起動方法を確認することです。たとえば、Linuxでは、というディレクトリの存在/sys/firmware/efiが診断的です。存在する場合は、EFIモードで起動しています。存在しない場合は、おそらく BIOSモードで起動しています。(ただし、このディレクトリは、状況によってはEFIモードブートでは存在しない場合があります。)dmesgEFIを参照する出力は、EFIモードブートの診断でもあります。Windowsでは、ブートディスクのパーティションテーブルは診断です。GPTの場合はEFIモードで起動し、MBRの場合はBIOSモードで起動します。

  • 「BIOSで起動」と「UEFIで起動」の本当の違いは何ですか?

EFI 高速化できますが、それは確かではありません。最大の速度の違いは、プロセスの初期段階でのハードウェアの初期化です。私のシステムでは、これは合計ブート時間のほんの一部です。したがって、ハードウェアの初期化時間を短縮してもそれほど大きな違いはありません。結局、10分ごとに再起動するわけではありません。

UEFIはセキュアブートと呼ばれる機能をサポートしています名前が示すように、それはセキュリティを改善することを意図しています。これは、ブートローダーのデジタル「署名」を必要とすることで行われます。これには、カーネルの署名など​​が必要になります。これにより、マルウェア作成者がブート前プロセスにコードを挿入することが難しくなり、セキュリティが向上します。これは良さそうですが、GRUBやLinuxカーネルなどのコードに署名する必要があるため、デュアルブート構成も複雑になります。主要なLinuxディストリビューションベンダーは、これらの要件を平均的なLinuxユーザーの負担を軽減する方法に取り組んでおり、いくつかの予備的な準備が整っています。ただし、現時点では、セキュアブートを無効にするのが最も簡単な対処方法です。これは、主にWindows 8に同梱されている最新のコンピューターでの実際的な問題です。マイクロソフトはWindows 8認定を取得するためにセキュアブートを有効にする必要があるためです。UEFIとセキュアブートを混同する人もいます(後者は前者の機能の1つにすぎません)が、新しいWindows 8コンピューターで問題が発生するため、BIOSとUEFIの違いとして言及するに値します。古いシステムを使用している場合、またはセキュアブートを無効にするファームウェアセットアップユーティリティに十分慣れている場合、これは実際の問題である必要はありません。

Microsoftは、ブートディスクのパーティションテーブルの種類をファームウェアの種類(MBRからBIOS、GPTからUEFI)に関連付けます。MBRは2TiBで最高であるため(標準セクターサイズを想定)、これはUEFIが2TiBを超えるディスクでWindowsを起動するための実際的な必要性であることを意味します。ただし、Windowsではデータディスクなどの大きなディスクを引き続き使用でき、BIOSでGPTを使用して大きなディスクでMicrosoft以外のOS(LinuxやFreeBSDなど)を起動できます。

UEFIに懸念がある場合や関心がある場合の実際的な問題として、最大の問題は、特に一部の古いOSやエキゾチックなOSでUEFIがサポートされているのが少しむらがあるということです。UEFI自体は非常に新しいため、その実装のほとんどはバグが多く、一般的に説明するのが難しいほど十分に異なるものはありません。したがって、UEFIを使用するのは難しい場合があります。OTOH、UEFI 未来です。いくつかのささやかな利点がありますが、そのうちのいくつかはやがて重要になります(Windowsの2TiBブートディスクの制限など)。UEFIブートに切り替えると、ブートプロセスのいくつかの詳細が変更されますが、ブートの問題が発生しても、全体的なコンピューティングエクスペリエンスはそれほど変わりません。


編集:

OpRomの設定(Option Rom)を展開してください。UEFIブートまたは「レガシー」ブートから選択できるように思われ、ビデオカード、ネットワークカード、およびその他のさまざまなPCIデバイスに適用されます。

多くのプラグインカードは、マザーボード上のファームウェアとインターフェイスするファームウェアを提供します。2種類のファームウェアは、カードのファームウェアが何らかの効果を発揮する場合に「通信」できる必要があります。これは、OSが起動する前にカードを使用するために必要です。たとえば、ビデオカードにファームウェアのオプションやブートマネージャーメニューを表示したり、ネットワークカードを介してネットワークブートを実行したり、ディスクコントローラカード。

ブートローダーの場合と同様に、プラグインデバイスのファームウェアのコードは、BIOSまたはEFIのいずれかとインターフェイスするように記述されます(ただし、プラグインカードは両方をサポートできますが、間違っていなければ)。一部のEFIには、これまで見てきたように、このサポートをきめ細かく有効または無効にするオプションがあります。場合によっては、EFIはカードのBIOSモードサポートを使用して、呼び出しを「変換」することにより、EFIモードで動作できるようにします。(これは、たとえばビデオカードでよく見られます;ファームウェアでBIOSをサポートしているだけで古いビデオカードを差し込んで、それを使用してEFIモードで起動することができます。)

メモする各設定が何をするのか正確にはわかりません。たとえば、これらのオプションのいずれかの「BIOSのみ」がカードをBIOSモードでのみ動作させるか、「変換」してEFIがEFIモードでBIOSモードコールを使用できるようにするか、その他のことはわかりません。実際、他のEFIユーザーインターフェイス領域には標準がないため、詳細はEFIごとに異なると予想されるため、詳細を知る必要がある場合は、コンピューターのマニュアルを参照するか、実験する必要があります。2つの異なるメニューに非常によく似たサウンドオプションを持つコンピューターを見たことがありますが、これはさらに問題を複雑にします。


ハードディスクにBIOSブートパーティションとEFIシステムパーティションの両方がある場合、これはこのハードディスクをBIOSモードとEFIモードで起動できるということですか?それでは、ハードディスクは「ブートモード」に依存しませんか?gdiskチュートリアルで、BIOSブートパーティションとEFIシステムパーティションをセットアップしたことを見ました。また、他のケースで/bootは、別のパーティションで必要になるかもしれないと言う人もいます(主にZFSを使用しようとしているためです)。RAIDED /bootとBIOSブートパーティションおよびEFIシステムパーティションをどのように調整しますか?
CMCDragonkai 14

ディスクには、ESPとBIOSブートパーティションの両方を含めることができます。後者はGRUBでのみ使用されるため、使用するブートローダーに応じて、後者がなくてもEFIとBIOSの両方でディスクを起動できます。/boot通常、RAIDアレイの外部に別のLinux パーティションが存在します。ブートモードに関係なく、ブートローダーはカーネルを読み取れる必要があり、ほとんどのブートローダーはソフトウェアRAIDを処理できません。(GRUBはおそらくそれを行うことができますが、試みる人はほとんどいません。)
ロッドスミス14

/bootZFSはソフトRAIDを使用できないため、ソフトRAIDを使用する必要があります/boot。ZFS on Linuxメーリングリストで質問しました。
CMCDragonkai 14

1
BIOSには、リモートでセキュアブートに相当するものすらありません。
ロッド・スミス

1
UEFIサポートは、最も人気のあるメインストリームOS、特にWindows 7以降および最新のLinuxディストリビューションでかなり優れています。その領域外に移動する場合は、特定のOSのUEFIサポートを調査する必要があります。たとえば、最後にチェックしたのは、ReactOS、Haiku、FreeDOSのすべてにUEFIサポートがありませんでした。ただし、いずれかをチェックしてからしばらく経ちました。そのため、そのうちの1つ以上がUEFIをサポートしている可能性があります。
ロッドスミス

21
  • BIOSはブートオプションにアクセスするための重要な部分であることは誰もが知っているとおりです。それで、UEFIはそれを行うでしょうか?どうやって?

UEFIは、BIOSという名前のx86固有のファームウェア標準に代わるクロスプラットフォームファームウェアインターフェイスです。多くのUEFI実装には、BIOS互換性/「レガシー」モードも含まれており、MBRからの起動を可能にし、OSにBIOSのようなインターフェイスを提供します。ただし、これは標準では必須ではありません。

  • BIOSではなくUEFIで起動していることをどのようにして知ることができますか?

あなたは互換/レガシーBIOSブートを提供していますUEFI対応マザーボードを持っている場合は、そのファームウェアのメニューには、デフォルトのブートモードを設定したり、UEFIまたはBIOSモードのいずれかで、単一のデバイスをブートするなどの選択肢を提供します。 それ以外の場合は、簡単に使用できない可能性がありますたとえば、OSを使用してファームウェアをプローブすることなく、伝える方法。

  • 「BIOSで起動」と「UEFIで起動」の本当の違いは何ですか?

多くの違いがあります:

  • UEFIは、BIOSのような類似のOSファームウェアインターフェイスを定義しますが、プロセッサアーキテクチャに固有のものではありません。BIOSは、x86プロセッサでサポートされる16ビットの「リアルモード」インターフェイスに依存しているため、Intel x86プロセッサアーキテクチャに固有です。
  • UEFIは、起動プロセスのさまざまな部分を高速化するように構成できます。たとえば、Gigabyte GA-EP45-DS3のUEFIは19秒でBIOSに対して11秒で初期化されます
  • UEFIモードは、インストールされている同じOSに対してBIOSモードとは異なるファームウェア/ハードウェア機能を提供する場合があります。

UEFIの詳細を参照してください


1
ほとんどのEFIは、ブートモードを決定するために、ディスクベースの要因とファームウェア設定に依存しているため、実際のブートモードがファームウェア設定のみに基づいているかどうかを常に確認できるとは限りません。このようなディスクベースの要因には、パーティションテーブルタイプ、MBRの「ブート/アクティブ」フラグ設定、EFIシステムパーティションまたはその中のファイルの有無などが含まれます。確認する唯一の方法は、起動したOSでEFIモードまたはBIOSモードの起動の兆候を確認することです。これらの兆候はOS固有です。
ロッドスミス

1
いいえ、UEFIは「従来のBIOSの上に実装される」ことはありません。UEFIは、BIOSという名前の古いタイプを置き換えるファームウェアのタイプです。BIOSスタイルのMBRから起動して、それを必要とするOSにBIOSに相当するインターフェイスを表示できるようにする互換性/レガシーモードが含まれている場合がありますが、その下にBIOSがあるわけではありません。
underscore_d

1
画像でP0 / P1 / P2はどういう意味ですか?
CMCDragonkai

画像リンクが壊れています
ダンダスカレスク

1
@underscore_d、従来のBIOS上で実行される EFI実装があります。ギガバイトの「ハイブリッドEFI」について、ここで書きました。私の経験は非常に否定的でした。CloverDUETもあります。これらは、標準のBIOSベースのコンピューターでブートローダーのように動作し、EFIモードのブートローダーとOSを実行できるようにします。ただし、CloverとDUETは技術的にはファームウェアではないため、本当に重要かどうかはわかりません。
ロッドスミス

8

Q:ご存知のように、BIOSはブートオプションにアクセスする重要な部分です。それで、UEFIはそれを行うでしょうか?どうやって?

A:これは用語に関する混乱です。たとえば、「BIOSを入力してblablaを変更します。」政治的に正しい用語は、入力したものに対する「ファームウェアセットアップユーティリティ」です。「BIOS」と「UEFI」との対比について話す場合、それは何か他のもの、すなわちブート実行環境を指します。

そのため、セットアップユーティリティを意味する場合、a)UEFIとは呼ばず、b)基本的には以前と同じです。

セットアップユーティリティがハードウェアとどのように通信し、永続的なストレージと通信するかは、ファームウェア専用です。そこでも何も変わっていません。

Q:「BIOSで起動」と「UEFIで起動」の本当の違いは何ですか?

A:ブートローダーが存在する環境は異なります。また、UEFIを使用すると、その環境がより明確に指定され、より現代的で機能が豊富になります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.