UEFI 【Unified Extensible Firmware Interface】 EFI
概要
UEFI(Unified Extensible Firmware Interface)とは、コンピュータ内の各装置を制御するファームウェアとオペレーティングシステム(OS)の間の通信仕様を定めた標準規格の一つ。従来のBIOSに代わるもの。UEFI対応ファームウェアを指してUEFIと呼ぶこともある。コンピュータには、本体内部の回路や装置などの基本的な制御を司るファームウェアと呼ばれる機種毎に固有のソフトウェアが内蔵されており、OSはファームウェアに処理を依頼してハードウェアを動作させる。UEFIはOSとファームウェアを連携させるための標準仕様を定めている。
主な特徴
UEFIはx86、x86-64、Itanium、ARMなど様々な設計(アーキテクチャ)のマイクロプロセッサ(MPU/CPU)に対応しており、様々な機種で用いることができる。装置を制御するデバイスドライバの開発は各プロセッサ固有の仕様を用いる従来の手法に加え、EBC(EFI Byte Code)と呼ばれる独自に策定されたCPU非依存の中間言語で開発することもできる。
ストレージ管理には従来のMBR(Master Boot Record)に代えてGPT(GUID Partition Table)と呼ばれる仕様が導入され、2TB(テラバイト/正確には2TiB)を超える大容量の領域を作成し、OSを導入して起動(ブート)することができる。
一台のコンピュータにOSを複数導入して起動時に選択するブートローダの機能もUEFIブートマネージャとして提供されるようになり、OS側でブートローダを用意する必要がなくなった。OSのデジタル署名を検証して正当なものしか起動しないセキュアブートにも対応し、盗難対策として利用できる。
UNIX系OSのシェルのようにファームウェアを操作できるコマンドライン画面としてUEFIシェルが提供され、システム管理のためのコマンドやアプリケーションを実行することができる。ネットワークインターフェース(NIC)を介してLANに接続し、TCP/IPなどで通信することもできる。
歴史
従来使われてきたBIOS(Basic Input/Output System)は16ビットマイクロプロセッサの時代に設計されたもので、マルチタスク環境で利用されることを想定していない点や、メインメモリの先頭から640KB目から1MB目のわずか384KBの領域にしか配置できない点など、現在のハードウェアやOSから見ると時代遅れで窮屈な制約が多い。
これを克服するため、64ビット環境を想定して新たに設計された近代的で拡張可能なファームウェアのインターフェース仕様としてUEFIの開発が始まった。
最初の仕様は1998年に米インテル(Intel)社と米ヒューレット・パッカード(Hewlett-Packard)社(当時)が64ビットマイクロプロセッサを共同開発するなかで策定され、当初は「EFI」(Extensible Firmware Interface)の名称で推進していた。2005年、同社らが設立した業界団体のUEFIフォーラムへ移管され、同時に名称もUEFI(Unified EFI)に改められた。