BIOSで起動」と「UEFIで起動」の違いは?

bios uefi

今のWindows 8はUEFIのブートローダをサポートしていて、BIOSとは違うと読んでいますが、Googleで何度も検索してもはっきりしません

留意点は以下の通りです

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

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

  • では、「BIOSで起動」と「UEFIで起動」の本当の違いは何なのでしょうか?

  120  None  2012-10-30


ベストアンサー

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

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

現実的な問題として、Linux のような複雑な BIOS モードブートローダを持つ OS を使っている場合、EFI モードブートは BIOS モードブートに似ています。しかし、GRUB 2 を他の EFI ブートローダで置き換えたり、補足したりすることができます。実際、Linux カーネル自体が EFI ブートローダになることができます。このように使用すると、EFI 自体が Linux カーネルをロードして実行したり、rEFIndgummiboot のようなサードパーティのブートマネージャを使用して、起動する OS やカーネルを選択したりすることができます

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

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

  • では、「BIOSで起動」と「UEFIで起動」では、本当の意味で何が違うのでしょうか?

EFIの方が速くなることもありますが、それは定かではありません。最大の速度の違いは、プロセスの初期段階でのハードウェアの初期化です。私のシステムでは、これは総起動時間の何分の一かに過ぎないので、ハードウェアの初期化時間の短縮は良いとしても、それほど大きな違いはありません。結局、10分ごとに再起動しているようなものではありません

UEFI はセキュアブートと呼ばれる機能をサポートしていますが、これはその名が示すように、セキュリティを向上させることを目的としています。これは、ブートローダのデジタル「署名」を要求することで実現します。これにより、マルウェアの作者が自分のコードをプリブートプロセスに挿入することが難しくなり、セキュリティが向上します。これは良いことのように聞こえますが、GRUB のようなコードと Linux カーネルが署名されなければならないため、デュアルブート構成を複雑にします。主要な Linux ディストリビューションベンダは、これらの要件を平均的な Linux ユーザの負担を軽減する方法に取り組んでおり、いくつかの予備的なものを準備しています。しかし、現時点では、セキュアブートを無効にするのが最も簡単な対処法です。これは、主に Windows 8 を搭載した新しいコンピュータの場合に実用的な問題となります。UEFI と Secure Boot を混同している人もいますが (後者は前者の機能の 1 つに過ぎません)、新しい Windows 8 コンピュータに問題を引き起こしているため、BIOS と UEFI の違いとして言及するに値します。古いシステムを使用しているか、ファームウェアのセットアップユーティリティを使用してセキュアブートを無効にしても問題ないのであれば、これは実際の問題ではありません

Microsoft は、ブートディスクのパーティションテーブルのタイプをファームウェアのタイプに関連付けます (MBR は BIOS に、GPT は UEFI に)。MBR は最大で 2TiB (標準的なセクタサイズを想定) なので、2TiB 以上のディスクで Windows を起動するには UEFI が実用的な必需品であることを意味します。しかし、Windows の下ではそのような大きなディスクをデータディスクとして使用することができ、BIOS の下で GPT を使用して、Microsoft 以外の OS (Linux や FreeBSD など) を大きなディスク上で起動することができます

もしあなたがUEFIについて心配したり興味を持ったりしているのであれば、現実的な問題として、最大の問題は、UEFIが十分に新しく、特にいくつかの古い、よりエキゾチックなOSでは、UEFIのためのサポートが少しスポット的であるということです。UEFI自体は、その実装のほとんどがバグだらけであり、そうでないものは、それが一般的に物事を説明するのが難しいことができることを自分自身の間で十分に変化していることを十分に新しいです。したがって、UEFIを使うのは難しいことです。しかし、UEFIは未来のものです。それはいくつかのささやかな利点を持っていますが、そのうちのいくつかは時間の中でより重要になります (Windows の 2TiB ブートディスクの制限のような)。UEFI ブートに切り替えると、ブートプロセスのいくつかの詳細が変更されますが、あなたの全体的なコンピューティングの経験は、あなたが遭遇する可能性のあるブートの問題を克服したら、すべてのことを変更することはありません


EDIT:

OpRom の設定 (Option Rom) を拡大してみてください。これらの設定はUEFIブートか “レガシー “ブートかを選択できるようになっているようで、ビデオカード、ネットワークカード、および他の様々なPCIデバイスに適用されます

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

ブートローダと同じように、プラグインデバイスのファームウェアのコードは、BIOS または EFI のどちらかとインターフェイスするように書かれています (プラグインカードは両方をサポートしていますが、私が間違っていなければ両方をサポートしています)。EFIの中には、あなたが見てきたように、このサポートを細かく有効にしたり無効にしたりするオプションを提供しているものもあります。いくつかのケースでは、EFIはカードのBIOSモードサポートを使用して、呼び出しを「翻訳」することでEFIモードで動作するようにすることができます。(これは、例えばビデオカードでよく見られることです。古いビデオカードのファームウェアに BIOS サポートしかないものを接続しても、EFI モードで起動させることができます)

あなたがメモしている設定のそれぞれが何をしているのか正確にはわかりません。例えば、これらのオプションの一つである “BIOS only “がBIOSモードでのみカードを動作させるのか、EFIがEFIモードでBIOSモードコールを使用できるように “translate “するのか、それとも何か他のものを使用するのか、私は知りません。実際には、他のEFIユーザーインターフェース分野の標準がないことを考えると、詳細はEFIごとに異なると予想されますので、詳細を知る必要がある場合は、コンピュータのドキュメントを参照するか、実験をする必要があるかもしれません。私は、2つの異なるメニューで非常に似たような音のオプションを持ついくつかのコンピュータを見たことがありますが、これは問題をさらに複雑にしています

139  Rod Smith  2012-11-06


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

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

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

もしあなたが互換性/レガシー BIOS ブートを提供する UEFI 互換のマザーボードを持っているならば、そのファームウェアメニューはデフォルトのブートモードを設定したり、単一のデバイスを UEFI または BIOS モードでブートしたりするような選択肢を提供してくれます。 そうでなければ、例えば OS を使ってファームウェアを調べないと、簡単にはわからないかもしれません

  • では、「BIOSで起動」と「UEFIで起動」では、本当の意味で何が違うのでしょうか?

いろいろな違いがあります

  • UEFI は BIOS と同様の OS ファームウェアインターフェースを定義していますが、どのプロセッサアーキテクチャにも固有のものではありません。BIOS は Intel x86 プロセッサアーキテクチャに特有のもので、x86 プロセッサでサポートされている 16 ビットの「リアルモード」インターフェースに依存しています
  • 例えば、Gigabyte GA-EP45-DS3 の UEFI は 11 秒で初期化され、BIOS は 19 秒で初期化されます Gigabyte GA-EP45-DS3 の UEFI は 11 秒で初期化されます
  • UEFIモードは、同じインストールされたOSに対して、BIOSモードとは異なるファームウェア/ハードウェア機能を提供する可能性があります

UEFI についての詳細はこちらをご覧ください

21  Elmo  2012-10-30


Q: 誰もが知っているように、BIOSはブートオプションにアクセスするための重要な部分です。では、今はUEFIがそれをしてくれるのでしょうか?どうやって?

A:これは用語の混同です。例:”BIOSを入力してブラブラを変更する”政治的に正しい用語は、あなたが入力するものの “firmware setup utility “です。”BIOS “を “UEFI “と対比して語るならば、それは何か別のもの、すなわちブート実行環境を指している

つまり、そのセットアップユーティリティのことを言っているのであれば、a)UEFIとは呼ばないで、b)基本的には昔と同じようなものです

セットアップユーティリティがどのようにハードウェアと通信しているのか、そして永久保存されているのかはファームウェアのプライベートなものです。ですから、そこでも何も変わっていません

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

A: ブートローダが置かれている環境は異なります。そして、UEFI では、その環境がより明確に指定され、よりモダンで機能が豊富になっています

11  Robert Siemer  2015-07-28


タイトルとURLをコピーしました