TODOS・何でも情報交換TOPから是非ご覧ください。
一番下の投稿フォームへ > スレッド一覧 > 記事閲覧
次世代BIOS「EFI」
日時: 2013/12/18 08:20
名前: りり

http://www.dosv.jp/feature/0606/20.htm

Windows7や8でのバックアップ・復元問題で、次世代BIOS「EFI」についても話題になりました。

こちらでは、UEFI「EFI」(UEFI)についての情報をお願いします。

「EFI」は、Vista64bitあたりから登場しているようですね。
冒頭のリンク先が、その経緯について説明されているので、引用させていただきます。



■ EFIとは?

 EFIは、BIOSに代わる新しいシステムファームウェアとして設計されたもの。現在のBIOSは、IBM PCが開発されたときに作られたものがベースで、多少の拡張はあったものの、基本的には最初のBIOSと互換性を保っている。BIOSは、Basic Input/Output Systemの略で、本来は、OS登場以前に、アプリケーションに対してコンピュータの基本的な入出力ルーチンを提供するために作られたものだ。

 IBM PCは、その当初こそROMを用いてOSとなるBASICを搭載していたが、その後、一般的には外部記憶装置からOSを読み込んで起動するようになった。このときに、OSの起動プログラムを読み込んで必要なメッセージを表示させたり、キーボードなどから読み取りなどを行なったりするプログラムとして搭載されたのがROM-BIOS。起動時のシステムテスト(POST)や各種基本ハードウェア(チップセット)の初期化や設定といった処理もになっている。

 BIOSはROMとして固定されているため、とくに起動にかかわる新しいハードウェアデバイス(バスや外部記憶装置など)への対応が難しい。さらに長期間使われ続ける間にも互換性を維持し続けたため内部がかなり複雑化している。また、リアルモードで実行されるため、1MB以下のいわゆるコンベンショナル領域のみにメモリ割り当てが限定され、サイズを増やすことも不可能な状態なのだ。

 EFI(図1)では、こうした問題を考慮し、最初から32bitモードで起動するよう設計されている。またハードウェアは、原則としてデバイスドライバを介して制御するようになり、かつHDD上にEFI専用のパーティションも作成可能になっている。いわば、EFIとはMS-DOSに近いミニOSのような構造と言えよう。

 実際、Intelが公開しているツールには、「EFI Shell」と呼ばれるコマンドラインインターフェースのシェルプログラムが含まれており、コマンドなどを介した作業が可能だ。こうした構造となっているEFIでは、従来のBIOSの存在を前提として動作するOS向けにBIOSエミュレーションを行なうようなプログラムを開発することもできる。ちなみにi945/955以降のチップセットを採用するIntel製のマザーボードは、すでにEFIを採用し、BIOSをエミュレーションしている。


>HDD上にEFI専用のパーティションも作成可能になっている。

ということで、最近のパソコンでは、そのパーティションが見られるのですね。
可能になっている…ということから、EFI・BIOSを使いながら、ハードディスクには、そのパーティションが無いこともあるのかな?

メンテ

Re: 次世代BIOS「EFI」 GPT(GUID Partition Table)フォーマット ( No.1 )
日時: 2013/12/18 08:58
名前: りり

引用続きます。こうしたサイトは、時間が経つと、記事がなくなる恐れがありますので、丸ごとコピーに近いのですが、ご容赦ください。


次世代BIOS「EFI」が登場した背景は、従来のBIOSの限界のHDD管理と関係しますね。 


 HDDの容量が増大すると、Big Drivesと呼ばれる問題(実際の容量以下しか認識されない)が発生することがある。通常、OSが起動する際に、ローダーと呼ばれるプログラムが動作して環境を整えた上で、OS自体が起動を開始する。OSが動き出せば、デバイスドライバを介して、どのようなハードウェアもアクセスできるが、その前段階にあるローダーでは、BIOSの提供するサービスに頼らねばハードウェアにアクセスできない。
 ここで、BIOSがいくつまでのセクタを扱えるかといった問題が発生する。Big Drivesは、BIOSが本来、ヘッド、シリンダ、セクタの三つのパラメータでHDD上の位置を指定していたために起きるが、これまでの問題は、BIOSの全面的な改修が不可能なこともあって、場当たり的な拡張しか行なえなかった。

もう一つ、BIOSに起因するHDD関連の問題にパーティションがある。BIOSはHDDの先頭にあるMBR(Master Boot Record)と呼ばれる領域から、最初にIPLプログラムというものを読み込んで実行する。このIPLプログラムが、各パーティションからOS起動用のローダーを必要に応じて読み込むことで、その後、OSが起動する仕組となっている。こうした関係であるため、BIOSはパーティションやMBRを管理できるようになっている必要がある。
基本領域は四つまでというパーティションの制限は、BIOSが読み込むMBR上のパーティションテーブルに四つしかエントリーがなく、拡張できないのが理由なのだ。それ以上にしたければ、基本パーティションのうち一つを拡張パーティションとし、内部を論理パーティションに分割する必要がある。


 こうした問題を解決するため、EFIでは、GUID Partition Table(GPT)と呼ばれる新しいパーティションテーブル構造(と言うかHDDの基本的なフォーマット)を定めている(図2)。従来のパーティションテーブル(俗にMBRフォーマットなどと呼ぶ)との互換性を保つため、先頭部分にはMBRが置かれているが、その直後にGUID(Global Unique ID。重複しないように割り当てた128bitのID)でパーティションタイプを表現するテーブルが並ぶ。このGPTは、HDDの最後にも同じものが書き込まれ、ディスクエラーに備えている。GPT自体は、エラーチェックが可能なようにMBR直後のGPTヘッダ部分にCRC(Cyclic Redundancy Check)値が書き込まれており、整合性をチェックできる。

※注意※
このGPTは、HDDの最後にも同じものが書き込まれ、ディスクエラーに備えている。
ということで、バックアップには、この部分も問題になるかもしれません。


 各エントリーは128byte(512byteの1セクタに4エントリー格納できる)で、パーティションのタイプ(GUID)、固有GUID、開始、終了位置を表わすLBA(Logical Block Addressing)、属性などが記述してある。

 MBRのパーティションテーブルは、HDD全体が1パーティションとなるよう設定され、パーティションタイプとしてGPTフォーマットを表わす0xEEが設定される。これは、GPTを理解しないHDDユーティリティなどが、未フォーマット状態と誤認するのを防止するためだ。なお、このタイプのHDDをWindowsのディスクユーティリティなどから見ると「GPT保護パーティション」と表示される。


※お願い※
「GPT保護パーティション」が表示されている画像が撮れる方は、是非、提供をお願いします。
メンテ
Re: 次世代BIOS「EFI」 ■ Boot Campの動作の仕組 ( No.2 )
日時: 2013/12/18 09:15
名前: りり

 EFIを採用したシステムでは、EFIの初期化が終わった後、EFIが提供するAPIで動作するブートマネージャ(Windowsなどと同じPEフォーマットを採用)が、各パーティションのブートプログラムを起動、その後OSが立ち上がる仕組だ(図3)。

 Windows XPの起動時には、MBRに書き込まれたIPLプログラムが、システムボリュームのルートにあるNTLDRを起動する。NTLDRは、32bitモードへ移行し、次にWindows XPのカーネルファイルをメモリに読み込んで実行させる。このときには、Windowsの起動ディレクトリの位置が指定されたBoot.iniを参照している。Boot CampでWindows XPをインストールした場合、multi(0)disk(0)rdisk(0)partition(3)\WINDOWSが指定されている。簡単に言えば、最初のHDD内の第3パーティションにある\WINDOWSから起動せよという内容だ。

 NTLDRでは、内部に組み込まれたディスクアクセスドライバを使ってディスクアクセスを行なう。ここを見る限り、NTLDRは、内蔵のIDE/ATAインターフェースを介して起動を行なっている。つまり、Boot Campを使ってNTLDRが実行される時点では、BIOSと同等の環境が提供されていると考えられる。

 実際、Boot Campのインストール前、HDDのMBR領域には何も書き込まれておらず、パーティションテーブル0はHDD全体が0xEE(GPT)であるように設定されていた。Boot Campを使ってWindowsをインストールした後にはIPLが書き込まれ、パーティションテーブル0、1、2は、それぞれ0xEE、0xAF(Mac)、0x07(Windows XP)に変更される。



※注意※
こちらは、記事が古いので、OSがXPとなっていますが、仕組みの説明として参照ください。

また、新しい良い例があれば、書き換えていきたいと思います。
メンテ
fifa 15 ( No.3 )
日時: 2014/10/27 13:21
名前: fifa 15

次世代BIOS「EFI」
fifa 15 ttps://www.bounceconnect.com/blogs/287699/600124/cheapest-fifa-15-coins-regardles



管理者補足

こちらは、61.190.77.89 CHINANETからのアクセス・書き込みで、リンク先にcheapestという綴りがあり、次世代BIOS「EFI」との関わりが疑われますので、リンクを外させていただきました。

管理者としては、リンク先は確認していません。

閲覧の皆様も、怪しいリンクは、踏まれませんようご注意の程、よろしくお願いします。
メンテ

楽しい交流と情報交換のTODOS・アップローダーも用意。ぜひTOPからもご覧ください。
ご参考になりましたら、お気軽に一筆お書き込みくださいませ。
題名 スレッドをトップへソート
名前
画像添付
JPEG
GIF
PNG



参照ボタンを押して、PCの画像を指定ください。3枚まで指定できます。縮小画像はクリックで拡大されます。
パスワード (好きなパスワードを。投稿後、右下のスパナマークをクリックし、そのパスワードを入れて修正できます。)
コメント

   クッキー保存
スレッドTOPへ***スレッド一覧