インテル、BIOSに変わるハードウェア制御API、EFI(Extensible Firmware Interface)の記者説明会を開催――同社のEFI対応プランとスケジュールを説明
2004年12月10日 22時37分更新
インテルのEFIに対する取り組みを語る米インテル ソフトウェア製品事業部 EFI/フレームワーク・マーケティング・マネージャのヨシ・ゴヴェゼンスキ氏 |
インテル(株)は10日、BIOSに変わる新しいハードウェア制御APIセット“EFI(Extensible Firmware Interface:拡張ファームウェア・インターフェース)”についての記者説明会を開催。米インテル ソフトウェア製品事業部 EFI/フレームワーク・マーケティング・マネージャのヨシ・ゴヴェゼンスキ(Yosi Govezensky)氏が、EFIに対する同社の取り組みについて、デモを交えながら説明を行なった。
そもそもEFIとは、パソコンに最後まで残ったレガシー仕様である“BIOS(Basic Input Output System)”を廃し、現代的なOSやハードウェアに対応する新しいソフトウェアフレームワークの規格として、2003年2月のIDFで発表された。おおざっぱに言えば、現在BIOSが担っているOS起動までのハードウェア操作を、新しいEFIで置き換える。ただしシンプルな機能しか提供できなかったBIOSと違い、EFIはほとんど“ミニOS”と言ってもよい機能と拡張性を備える。そもそもBIOSは、IBM PC/ATが登場した20年以上前の仕様を引きずり続けたソフトウェアで、DOSの時代は重要なソフトウェアとして使われていたものの、現在のOSは起動してしまえば、BIOSをまったく使わない。BIOSの出番は、OSローダーを呼び出してOSが起動し始めるまでだけ。ほとんどのパソコンユーザーは、BIOSが何で、何をしているかを気に留める必要すらない。またBIOSによる設定画面もほとんどがテキストベース(それも英語)で、お世辞にも使いやすいとはいえない。BIOSソフトウェアの開発も、アセンブリ言語のような低級言語を使うものが多く、拡張やメンテナンスの障害となっている。
ホームパソコンや企業内でのクライアントパソコンにとっては、単なる無害な盲腸のようなBIOSだが、やっかいなのはPCアーキテクチャーを使うサーバーシステムだ。サーバーシステムでは障害発生時のリカバリーの際に、BIOSによる起動の遅さや低機能が足かせとなることもある。またサーバーに限らず、システムの遠隔診断を行なうためにも、より高度な機能を持ちながらOS起動前に使えるソフトウェアが求められている。EFIはこうした問題を解決する。
インテルは同社の製品(CPU、チップセット、マザーボード、NICなど)をEFIに対応させるために、“インテル・プラットフォーム・イノベーション・フレームワーク for EFI”(以下フレームワーク)という仕様を定めている。BIOSベンダーはフレームワークに準拠したBIOSに代わるソフトウェアを開発し、パソコンメーカーやマザーボードベンダーに供給する。フレームワークで重要な点は、既存のBIOSと同じ機能も提供される点である。そのためフレームワークに対応したマザーボードでも、DOSからWindows XP、Windows Server 2003、Linuxなど既存のOSを問題なく利用できる。またOSのように、個々のハードウェア制御を行なうソフトウェアをドライバーソフトとして分離しているので、BIOSに比べて新しいハードウェアへの対応も容易になる。扱えるメモリー空間が1MBに制約されていたBIOSと異なり、OS並みに広い32bitメモリー空間をサポートする。さらにPentium 4やPentium MといったIA-32系CPUに止まらず、サーバー向けのItaniumシリーズや組み込み向けのIntel XScaleといった、IA-32とは異なるプログラムを必要とするCPUにも対応する。
インテル・プラットフォーム・イノベーション・フレームワークのダイアグラム(インテルのプレゼンテーション資料より)。緑色の部分はCPUに依存しない“EFIバイトコード”と呼ばれる共通のプログラムを使う | EFIに対応したフレームワークの利点(インテルのプレゼンテーション資料より)。BIOSとの互換性を保ちながら、CPU非依存、高速といった利点を持つ |
フレームワークの中核となるのは、OSカーネルに当たる“PEI(Pre-EFI) Foundation”である。この上に各種ドライバーや既存OS用にBIOS互換の機能を提供する“互換性サポート・モジュール(Compatibility Support Module:CSM)”などが組み込まれて動作する。PEI Foudationやドライバは、“EFIバイトコード”と呼ばれるCPUに依存しない中間コードで記述されており(CPU依存したネイティブコードでも作れる)、仮想マシンインタープリターによって、CPUネイティブのコードに変換される。ちなみにPEI Foundationはオープンソースソフトウェアとして公開されており、誰でも無償で利用できるようになっている。
説明会で実演されたデモでは、“EFI Shell Version 1.10”というコンソールベースの環境上から、新たにデバイスドライバーを読み込んで、接続されたUSBメモリー内のファイルを参照するといった操作が披露された。BIOSプログラムは通常、マザーボード上に実装されたBIOSチップ内のフラッシュメモリーから読み込まれるが、EFI環境ではHDDやUSBメモリー、ネットワーク上など、さまざまな場所からプログラムやドライバーを読み込むことができる。こうした自由度の高さはBIOSでは実現困難だった。たとえばNTFSファイルシステムでフォーマットされたHDDの中身を見られるBIOSはないが、EFI環境ならNTFSに対応したファイルシステムドライバーを組み込めばいい。
フレームワーク対応のプラットフォームファームウェアが起動した状態。Intel 915Gチップセット搭載マザーボードと、2.8GHzのPentium 4上で動作している | コンソールベースの“EFI Shell”を起動した様子。システムに接続されているディスクドライブなどが見えている |
組み込まれているデバイスドライバーを列挙した様子。チップセットドライバーやVGAドライバーといった基本的なものから、無線LANやWake On LANドライバーのようなものまで、OS並みにロードされている |
またデモで使われたソフト(プラットフォームファームウェア)には、ネットワーク経由でのリモート操作ができるようにTelnetサーバードライバーが組み込まれており、無線LANでつながったWindowsパソコン上から、Telnetアプリケーション経由で障害を発生しているWake On LAN用のデバイスドライバーを新しいものに入れ替えるというデモも行なわれた。インテルはIDF 2004 Fallにて、OSの状態に依存しないリモート管理・診断技術“iAMT(インテル アクティブマネージメントテクノロジ)”を発表しているが、フレームワークに対応した環境ならば、OSが起動しなくてもシステムのメンテナンスが可能であることを実証したわけだ。
Telnet経由でネットワーク越しに他のマシンのプラットフォームファームウェアを操作している様子。設定の変更からデバイスドライバーの入れ替えまでこなせる |
ほとんど“ミニOS”と言えるフレームワーク上では、ユーザーインターフェース(UI)もテキストベースのBIOSから脱却し、グラフィカルなGUIを実装できるようになる。デモでは、BIOSベンダーの米Insyde Software社が開発した、HTMLでUIを記述したプラットフォームファームウェアが披露された。今でいうBIOS設定画面の状態から、ファームウェアのアップグレードやOSの復旧、サポート情報サイトの閲覧まで行なえる。また米アメリカン メガトレンド(AMI)社の開発による、GUIベースのプラットフォームファームウェアも実演された。デモされた環境はすべて英語版だったが、EFI自体はユニコードをサポートし、日本語のGUIを作ることもたやすい。こうした機能を既存のBIOSで実現することは不可能ではないし、実際にGUIベースのBIOSや日本語BIOSを搭載するパソコンやマザーボードも(ごく少数だが)存在した。しかしEFIに移行すれば、こうした環境は当たり前のものとなる。
ハードウェアだけでなくOSがEFIに対応すれば、EFI側で読み込まれたデバイスドライバーを、OS側から使用することも可能になる。MS-DOSやDOSアプリケーションが、BIOSサービスを呼び出してハードウェアを操作していた時代と同じことが可能になる。単独のOSを使うだけなら、あまりメリットにはならないが、1つのシステム上で複数の仮想マシンを動作させる際には、ハードウェアのさらなる抽象化が可能になるので、仮想マシン環境下でのパフォーマンスや信頼性向上に役立ちそうだ。
EFIはすでに、Itaniumベースのシステムが対応している。またインテルのロードマップでは、2004年末までにPEI Foundationコードや汎用のデバイスドライバーを含む開発キットを提供する予定となっている。さらにハードウェア製品についても、2005年にはCPUやチップセット、マザーボードなど製品の多くがEFIに対応し、2006年にはすべての製品をEFI対応に移行する計画である。
インテルが提供を予定しているドライバ開発キットの概要 | インテルのハードウェア製品のEFI対応スケジュール(予定) |
一方でEFIのメリットをエンドユーザー、特にホームユーザーが直接体験する場面は、そう多くはないかもしれない。BIOSを置き換えるだけなら、OSが起動するまでの間で終わってしまう。リモートメンテナンスは企業のIT管理者には重要な要素となるが、ホームユーザーにとってはあまりお目にかからない(お目にかかりたくない)機能になりそうだ。しかし最近の大手メーカー製パソコンで流行りの“OSを起動せずにDVD再生やTV録画ができる”といった機能を見ていると、EFI用のDVD再生アプリケーションやTV録画アプリケーションを作り、こうした機能を実現するといった方向性も考えられるだろう。