**EFI(Extensible Firmware Interface)** とは、従来のBIOSに代わるファームウェアの規格で、コンピュータのハードウェアとオペレーティングシステム(OS)の間で通信を行うためのインターフェースです。 EFIは、より高度な機能と柔軟性を持ち、特に最新のコンピュータシステムで採用されています。
後に、EFIはさらに進化して **UEFI(Unified Extensible Firmware Interface)** となり、現在の多くのシステムで標準として使用されています。
### EFIの背景
従来の**BIOS(Basic Input/Output System)**は、1980年代に設計された古い技術で、 32ビットアーキテクチャや2TB以上のディスク容量に対応できないなど、制限が多く存在しました。 特に、新しいハードウェア技術やセキュリティ機能の実装において、柔軟性に欠けていました。 これに対応するため、1990年代後半にインテルが中心となってEFIを開発しました。 EFIは従来のBIOSの制約を取り除き、よりモダンで柔軟なファームウェア規格を提供しました。
### EFIの主な特徴
EFIは、BIOSに比べて以下のような多くの利点を持っています。 1. **32ビット/64ビットサポート**:
EFIは32ビットおよび64ビットプロセッサをネイティブにサポートしており、従来のBIOSの16ビットモードに比べて、より多くのメモリを利用でき、高速に動作します。
2. **グラフィカルユーザーインターフェース(GUI)**:
EFIはグラフィカルインターフェースをサポートしており、従来のテキストベースのBIOS設定画面に比べ、使いやすく直感的な操作が可能です。
3. **拡張性**:
EFIはモジュール化されており、追加のドライバや機能を簡単に拡張することができます。 ファームウェア自体がプログラム可能で、特定のハードウェアに対応するためにカスタマイズすることができます。
4. **セキュリティ機能(セキュアブート)**:
EFIは、**セキュアブート(Secure Boot)** というセキュリティ機能を持っています。 セキュアブートは、システム起動時に認証されたデジタル署名を持つOSやドライバのみを許可することで、マルウェアなどの不正なプログラムがシステムに侵入するのを防ぎます。
5. **大容量ストレージサポート**:
従来のBIOSでは、2TBを超えるハードディスクドライブに対応できないという制限がありましたが、EFIはGUIDパーティションテーブル(GPT)をサポートし、非常に大容量のストレージデバイスにも対応しています。 GPTを使用することで、2TB以上のディスクや128個以上のパーティションをサポート可能です。
6. **ネットワーク機能**:
EFIはネットワークブート(PXEブート)をサポートしており、ネットワーク経由でシステムを起動することができます。 これにより、ローカルストレージを使用せずにOSをインストールしたり、ネットワーク管理が容易になります。
7. **デバイスドライバのサポート**:
BIOSではシステム起動中に必要なすべてのデバイスを直接制御する必要がありましたが、EFIではファームウェア内にドライバをロードすることができます。 これにより、ハードウェアデバイスをシステム起動時に効率よく認識し、OSに引き渡すことが可能です。
### EFIとUEFIの違い
EFIは最初にインテルが開発したファームウェアインターフェースですが、 後により多くの企業が協力して、これを統一規格化するために **UEFI(Unified Extensible Firmware Interface)** として標準化しました。 UEFIはEFIの改良版で、より多くの機能と幅広い互換性を持っています。
**EFI**: インテルが開発した元々の規格。 現在はUEFIに置き換わっていますが、基本的な概念や機能は同じです。
**UEFI**: 複数の企業による協力で標準化された統一規格。
ほとんどの新しいコンピュータはUEFIを採用しており、EFIよりも多くの機能や互換性が追加されています。 たとえば、セキュアブートやGPTのフルサポート、最新のハードウェアとの互換性などが強化されています。
### EFI/UEFIの起動プロセス
UEFIの起動プロセスは、従来のBIOSに比べて異なるステップを含みます。 1. **UEFIファームウェアの実行**:
コンピュータの電源が入ると、最初にUEFIファームウェアが実行され、ハードウェアの初期化が行われます。
2. **UEFIブートマネージャの起動**:
ハードウェアの初期化が完了すると、UEFIブートマネージャが起動します。 UEFIブートマネージャは、どのOSを起動するかを決定する役割を持っています。 OSやブートローダーのエントリは、UEFI設定画面やOS側から設定可能です。
3. **OSブートローダの読み込み**:
UEFIブートマネージャは、システムにインストールされているOSのブートローダをメモリにロードし、OSの起動プロセスが始まります。
4. **カーネルの読み込みとOSの起動**:
ブートローダがカーネルをロードし、OSが起動します。 ここから通常のOSの動作が始まります。
### まとめ
EFIは、従来のBIOSに代わるモダンなファームウェア規格であり、 最新のコンピュータで標準的に採用されています。 UEFIとして標準化された現在、EFIは高速起動、大容量ストレージ対応、セキュリティ機能、モジュール化されたドライバサポートなど、多くの改善点を提供しています。 これにより、より柔軟で安全なシステム起動が可能になりました。
|