UEFIとBIOS:違いは何ですか?

そのため、特にオペレーティングシステムを切り替えようとしたり、オーバークロックをいじったりしたときに、BIOSとUEFIの頭字語が飛び交うのを聞いたことがあるかもしれません。

そして、これらの頭字語が何を表すかを知っているかもしれません(それぞれ、Unified Extensible FirmwareInterfaceとBasicInput / Output System)。しかし、それらがコンピュータシステムでどのように使用されているのか疑問に思ったことはありませんか?

ここで、これらの用語とその意味をわかりやすく説明しましょう。

起動手順

まず最初に–トピックから逸​​脱していることはわかっていますが、これが後でいくつかの概念に役立つことを約束します。

では、コンピュータはどのように起動しますか?ステップバイステップで行きましょう:

  1. ノートパソコン/デスクトップの電源ボタンを押します。
  2. CPUは起動しますが、動作するにはいくつかの命令が必要です(CPUは常に何かをする必要があることを忘れないでください)。この段階ではメインメモリが空であるため、CPUはマザーボード上のファームウェアチップからの命令のロードを延期し、命令の実行を開始します。
  3. ファームウェアコードは、電源投入時自己診断(POST)を実行し、残りのハードウェアを初期化し、接続されている周辺機器(マウス、キーボード、ペンドライブなど)を検出し、接続されているすべてのデバイスが正常かどうかを確認します。POSTが成功した後にデスクトップが作成していた「ビープ音」として覚えているかもしれません。
  4. 最後に、ファームウェアコードはすべてのストレージデバイスを循環し、ブートローダー(通常はディスクの最初のセクターにあります)を探します。ブートローダーが見つかった場合、ファームウェアはコンピューターの制御をブートローダーに渡します。

この記事の目的のために、このトピックについて詳しく知る必要はありません。ただし、興味がある場合は、読み進めてください(そうでない場合は、次のセクションにスキップできます)。

  1. ブートローダーがロードされたので、その仕事は残りのオペレーティングシステムをロードすることです。GRUBは、UNIXライクなオペレーティングシステムをロードでき、WindowsOSをチェーンロードすることもできるそのようなブートローダーの1つです。ブートローダーは、ディスクの最初のセクターである512バイトでのみ使用できます。最新のオペレーティングシステムの複雑さを考えると、これらのブートローダーの一部はマルチステージロードを実行する傾向があり、メインブートローダーは512バイトに制限されていない環境でセカンドステージブートローダーをロードします。

  2. 次に、ブートローダーはカーネルをメモリにロードします。次に、Unixライクなオペレーティングシステムがinitプロセス(他のプロセスがフォーク/実行されるマスタープロセス)を実行し、最後に実行レベルを初期化します。

  3. Windowsでは、サービス制御、ローカルセキュリティと権限(実行レベルと同様)、ローカルセッション管理wininit.exeなどの他のプロセスとともにロードされます。services.exelsass.exelsm.exe

  4. このすべての後、および他のいくつかのドライバーが初期化された後、グラフィカルユーザー推論(GUI)がロードされ、ログイン画面が表示されます。

これは、ブートプロセスの非常に高レベルの概要でした。オペレーティングシステムに興味がある場合は、osdev.netで詳細を読むことをお勧めします。

それでは、元のトピックに戻りましょう。

BIOS:

BIOSはBasicInput / Output Systemの略で、上記の起動手順で説明したファームウェアです。

これはEPROM(Erasable Programmable Read-Only Memory)に保存されているため、製造元は更新を簡単にプッシュできます。

これは、接続されたストレージのブートセクターを読み取り、画面に印刷することを可能にする多くのヘルパー関数を提供します。delF2またはを押すと、起動手順の初期段階でBIOSにアクセスできますF10

UEFI:

UEFIはUnifiedExtensible FirmwareInterfaceの略です。BIOSと同じ仕事をしますが、基本的な違いが1つあります。それは、初期化と起動に関するすべてのデータを、ファームウェアに保存するのではなく、.efiファイルに保存することです。

この.efiファイルは、ハードディスクのEFIシステムパーティション(ESP)と呼ばれる特別なパーティションに保存されます。このESPパーティションには、ブートローダーも含まれています。

UEFIは、次のような古いBIOSの多くの制限を克服するように設計されています。

  1. UEFIは最大9ゼタバイトのドライブサイズをサポートしますが、BIOSは2.2テラバイトしかサポートしません。
  2. UEFIはより速い起動時間を提供します。
  3. UEFIはディスクリートドライバーをサポートしていますが、BIOSはROMにドライブサポートが保存されているため、BIOSファームウェアの更新は少し難しいです。
  4. UEFIは、「セキュアブート」のようなセキュリティを提供します。これにより、コンピューターが許可されていない/署名されていないアプリケーションから起動するのを防ぎます。これはルートキットの防止に役立ちますが、他のOSを署名されていないアプリケーションとして扱うため、デュアルブートも妨げます。現在、WindowsとUbuntuのみが署名されたOSです(間違っている場合はお知らせください)。
  5. UEFIは32ビットまたは64ビットモードで実行されますが、BIOSは16ビットモードで実行されます。そのため、UEFIは、キーボードのみを使用してナビゲーションを許可するBIOSとは対照的に、GUI(マウスを使用したナビゲーション)を提供できます。

UEFIは必要ないかもしれません

最近のすべてのコンピューターにはデフォルトでUEFIが搭載されていますが、UEFIではなくBIOSを選択する理由は次のとおりです。

  1. 初心者で、どのタイプのファームウェアもいじることを気にしないのであれば、BIOSが最適です。
  2. ハードディスクまたはパーティションあたり2TB未満の場合は、BIOSを使用できます。
  3. BIOSでは、設定を変更せずに複数のオペレーティングシステムを実行できます。これは、最新の観点からはセキュリティの問題になる可能性がありますが、ユーザーにとって面倒なことはありません。
  4. BIOSは、オペレーティングシステムにシステム情報を提供します。したがって、OSが16ビットモードで実行されている場合、ハードウェアと対話するためのコードを記述する必要はありません。BIOSが提供するメソッドを直接使用できます。それ以外の場合、OSが32ビットまたは64ビットモードに切り替わる場合は、ハードウェアと対話するための独自のサブルーチンを提供する必要があります。
  5. マウスとGUIを使用したナビゲーションよりもキーボードとテキストベースのUIを好む人は、BIOSが最適です。

UEFIはこれらの制限を考慮に入れ、レガシーモードを提供します。その中で、BIOSファームウェアを持っているかのようにすべてを実行できます。ただし、Intelは2020年から従来のBIOSをサポートしないことを発表したことに注意してください。

結論

この投稿では、BIOSとUEFIの違いの概要を説明しました。また、どちらを選択するか、およびそれらが互いにどのように異なるかについてもアドバイスします。

ご不明な点がございましたら、Twitterでいつでもご利用いただけます。お時間をいただきありがとうございます。