開閉ボタン
ユーザーメニュー
ユーザーメニューコンテンツ
ログイン

  • 会員限定
  • 2012/01/26

UEFIとは何か?Windows 8でも採用されるBIOSに代わる新たなプログラムの基本

PCの最後の遺産

PCを起動したり、周辺機器の入出力をコントロールするための基本的なソフトウェアとして、永らくBIOSが使われてきたが、その役割を終えつつある。と、言われ続けて早数年、ようやくBIOSに代わって「UEFI(Unified Extensible Firmware Interface)」へと世代交代が進みそうだ。Windowsの次期バージョン(コードネーム:Windows 8)では、このUEFIに標準対応することがマイクロソフトから表明されている。このWindows 8ではUEFIを用いたある機能について、今大きな議論が起きている。今回はこのUEFIの仕組みや変遷、メリットについて基本から見ていくことにしよう。

池田冬彦

池田冬彦

AeroVision
富士総合研究所(現みずほ情報総研)のSEを経て、出版業界に転身。1993年からフリーランスライターとして独立しAeroVisionを設立。以来、IT系雑誌、単行本、Web系ニュースサイトの取材・執筆やテクニカル記事、IT技術解説記事の執筆、および、情報提供などを業務とする。主な著書に『これならできるVPNの本』(技術評論社、2007年7月)、『新米&シロウト管理者のためのネットワークQ&A』(ラトルズ、2006年5月)など多数。

コンピュータに欠かせないファームウェア

photo
BIOSの基本的な機能。OS、アプリケーションとハードウェアとの橋渡しをする(点線より上はソフトウェア)
 Windowsのハードウェア、つまりIBM-PCに端を発する「PC/AT互換機」規格上のPCやサーバなどでは、永らく「BIOS(Basic Input/Output System)」というファームウェア(ハードウェアを制御するためのプログラムのこと)が使われていた。今回解説するUEFIはこのBIOSに代わるものである。そこで、UEFIの解説を行う前に、まずはBIOSについておさらいしておこう。

 BIOSとは、ハードウェアの起動と、キーボードやマウス、ディスプレイなどの外部入出力の最も基本的な制御を担っているものだ。ハードウェアの電源を投入すると、マザーボード上のメモリ(ROM)に書き込まれたBIOSプログラムが起動して、ハードウェアの初期化を行い、OSを起動させるための起動プログラム(OSブートローダ)を呼び出して実行させる。

 また、OSが起動した後は、ハードディスクやディスプレイ、キーボードなどの周辺機器の入出力の制御や電源管理など、最も基本的なハードウェアの制御や管理を行っている。つまり、BIOSがないと、コンピュータは起動することすらできない極めて重要なプログラムなのである。

画像
BIOSの設定画面。ハードディスクなど、PCのハードウェア構成を変えた場合には(手動または自動で)設定を変更する必要がある
 しかし、BIOSは基本的に1980年代のIBM-PC時代からのレガシーな産物で、「PCの最後の遺産」とさえ言われて、さまざまな制約がある。OSやハードウェアの互換性を維持しつつ、時代と共に進化するハードウェアに対応させるため、内部のプログラムが複雑化し、BIOSを維持管理することが難しいのが現状だ。

 また、BIOSは、リアルアドレスモード(78年に発表されたCPU「Intel 8086」の互換動作を行えるモード)でしか動作しないため、メモリ領域が1MB以下と非常に小さなサイズしか利用できないという問題がある。PCやマザーボードを開発する企業にとっては、このような厳しい制約の中で、日進月歩で進化するハードウェアに最適なBIOSプログラムを格納したり、プログラムをアップデートするのは大変である。そこで次に登場したのが「EFI(Extensible Firmware Interface)」という新しいBIOSである。

BIOSからUEFI採用に至った流れ

 旧来のBIOSを廃して新しいファームウェアに移行させようという動きは、2000年にインテルがEFIを発表したことに端を発する。当時、インテルとヒューレット・パッカード(以下、HP)は、インテルベースのサーバアーキテクチャである「IA-64(Intel Architecture 64)」に基づいたCPU「Itanium」ベースのサーバマシンの開発に際して、BIOSからEFIへの移行を計画し、IA-64ベースのサーバマシンが最初のEFI搭載機となった。

(参考)x86、x64、IA-64、IA-32の違い
x86インテルの初期CPU(Intel 8086)互換の32ビットCPUおよびその技術の総称。AMDや互換メーカーのCPUも含まれる
x64x86-64とも呼ばれる。x86を64ビットに拡張した64ビットCPUおよびその技術の総称。Intel 64も含まれるが、下記のIA-64はまったく別の規格
IA-64インテルが独自に提唱した64ビットCPUの規格。Itaniumが代表的なCPUとなる
IA-32インテルがIA-64を発表した際に、従来の32ビットCPUの総称として用いられた

 しかし、IA-64は採用メーカが少なく、性能そのものの評価も高くなかった。しかも、32ビット版との互換性もなく、当時32ビットマシンが主流だったサーバ市場では移行が難しいという問題もあった。このため、EFIもさほど市場に注目されることはなく、サーバ市場はおろか、コンシューマ市場への本格的な普及には至らなかった。

 そこでインテルはその後、2005年に業界団体「United EFI Forum」を結成。それまでに同社で策定してきた関連仕様をまとめ、EFI(EFI 1.10)の仕様を公開し、多くの企業が利用できるよう標準化の推進と普及を行うことにした。この業界団体のフォーラムで誕生した規格が「UEFI」である。United EFI Forumの設立メンバーはAMD、ヒューレット・パッカード、IBM、マイクロソフトなどが名を連ねており、BIOSメーカーからはインサイド・ソフトウェア、フェニックス・テクノロジー、アメリカン・メガトレンドが初期メンバーとして参加した。

画像
ASUSのマザーボード「P9X79」。ボード左下に「UEFI BIOS」という文字が見える(出典:ASUSTEK Computer
 United EFI ForumではUEFIの仕様策定が進んでいたが、当初はEFI対応の64ビットOSしか起動できないという問題があったため、まだまだ32ビットOSが主流のPC市場から注目されることはなかった。実際、マイクロソフトのOSでUEFIに対応したのは64ビット版のWindows Server 2008からで、コンシューマ向けでは64ビット版のWindows Vista(Service Pack適用後に対応可能になる)からだ(ちなみに、Itanium向けのWindowsもEFIには対応していた)。

 UEFIがメインストリームの舞台で注目されるようになったのは、2011年2月から量産が開始されたインテルのSandy Bridge対応CPUの市場への投入と、これに対応する新チップセットである「Intel 6シリーズ」の本格普及がきっかけである。Intel 6シリーズはUEFIを導入しており、このアーキテクチャの普及に伴い、ようやくBIOSがレガシーなものとして扱われるようになったのである。

【次ページ】UEFIの仕組みやメリットとは?

お勧め記事

OS ジャンルのトピックス

OS ジャンルのIT導入支援情報

PR

ビジネス+IT 会員登録で、会員限定コンテンツやメルマガを購読可能、スペシャルセミナーにもご招待!