Thursday, March 23, 2017

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

uefiとは windows10,uefiマザーボード,uefi wiki,uefi windows7,uefi 読み

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

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

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


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

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

 また、OSが起動した後は、ハードディスクやディスプレイ、キーボードなどの周辺機器の入出力の制御や電源管理など、最も基本的なハードウェアの制御や管理を行っている。つまり、BIOSがないと、コンピュータは起動することすらできない極めて重要なプログラムなのである。 
uefiとは windows10,uefiマザーボード,uefi wiki,uefi windows7,uefi 読み,uefi 役割,uefi asrock,uefi win10,uefi asus,uefi 起動順位,
クリックで拡大)
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も含まれる
x64 x86-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メーカーからはインサイド・ソフトウェア、フェニックス・テクノロジー、アメリカン・メガトレンドが初期メンバーとして参加した。 
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とは windows10,uefiマザーボード,uefi wiki,uefi windows7,uefi 読み,uefi 役割,uefi asrock,uefi win10,uefi asus,uefi 起動順位,
(クリックで拡大)
ASUSのマザーボード「P9X79」。ボード左下に「UEFI BIOS」という文字が見える(出典:ASUSTEK Computer)
UEFIがメインストリームの舞台で注目されるようになったのは、2011年2月から量産が開始されたインテルのSandy Bridge対応CPUの市場への投入と、これに対応する新チップセットである「Intel 6シリーズ」の本格普及がきっかけである。Intel 6シリーズはUEFIを導入しており、このアーキテクチャの普及に伴い、ようやくBIOSがレガシーなものとして扱われるようになったのである。 

uefi 役割,uefi asrock,uefi win10,uefi asus,uefi 起動順位,

No comments:

Post a Comment