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」との関わりが疑われますので、リンクを外させていただきました。
管理者としては、リンク先は確認していません。
閲覧の皆様も、怪しいリンクは、踏まれませんようご注意の程、よろしくお願いします。
|