【注意事項】MBRとGPTの違い

多くの PC ユーザーにとって、UEFI は深層爆弾のようなもので、表面的には落ち着いていますが、暗闇ではすでに大きな衝撃を引き起こしています。プリインストールされた WIN8 コンピュータに GPT パーティションの必要性を指定するという Microsoft の横暴のおかげで、人々はこう感じずにはいられません。勉強熱心な人々が GPT について知った後、私たちの舞台裏のヒーローである UEFI をさらに発見しました。この記事では、ハードディスクとハードディスクのパーティションについて説明します。

簡単に言うと、ハードディスクのパーティション分割とは、パーティション エディタを使用してハードディスクをいくつかの独立した論理部分に分割することです。ディスクを複数のパーティションに分割すると、異なる種類のディレクトリやファイルを異なるパーティションに保存できます。パーティションが多ければ多いほど、ファイルの性質を細かく分けて、ファイルを別の場所に保存することで細分化された性質に合わせてファイルを管理することができますが、パーティションが多すぎると面倒になります。

ハードディスクのパーティション分割は、空き家を寝室、キッチン、リビングルームなどの別々のスペースに分割するようなものです。主にユーザーの利便性のため。一方、適切なハードディスク パーティションを使用すると、システムのディスク領域が効果的に保護され、システムの動作速度が向上するだけでなく、データも効果的に保護できます。もちろんパーティションを分割することはできませんが、サブディレクトリが増えたり、Windows の速度がどんどん遅くなったりすると、ファイルの管理に時間を費やさなければならなくなったり、Windows を再インストールしたりするときに後悔することになるでしょう。「卵をひとつのカゴに盛るな」という格言は、経済学以外の分野でも同様に戒めとなる。

MBR を説明する前に、メカニカル ハードディスクの関連概念について説明する必要がありますが、結局のところ、MBR は 20 世紀最高のディスク管理方法として、メカニカル ハードディスクと密接に関係しています。

(これにより、以下の内容をよりよく理解できるようになります)。

機械式ハードディスクの原理

メカニカル ハードディスクは、磁気媒体でコーティングされた硬質金属材料で作られたディスクです。ディスクの両面はディスク表面またはセクタと呼ばれ、情報を記録できます。ディスク表面は磁気ヘッドによって動作します (ハードウェアが不良の場合)。ディスクなら手で分解できるよ(え?なぜ悪いものを使うの?良いものを使うとお金がかかるかも…) 一般的にはヘッド番号で区別します。構造上の特性により、機械式ハードディスクに大きな衝撃が加わった場合(地面に落としたり、研究のために分解したりする場合)、磁気ヘッドとディスク表面との間にわずかな衝撃があった場合でも、破壊される可能性があります。

原理の説明を続けます。磁気ヘッドが動かず、ハードディスクが回転すると仮定すると、磁気ヘッドはディスクの表面に円形のトラックを描いて磁化し、データはその磁化された領域に保存されます。 、トラックと呼ばれ、各トラックはセグメント化されます。円弧セグメントはセクターです。ハードディスクには複数のセクタを含めることができ、セクタは同軸上に重なっています。各ディスクには同じ数のトラックがあります。同じ周長のトラックによって形成されるシリンダはシリンダと呼ばれ、シリンダの数はディスクの数と同じです。トラック。以下に示すように

これを知ることで、元のハードディスクのアドレス管理方法を理論的に理解することができます。

独自のアドレッシング方式はCHSと呼ばれるもので、LBA(Logical Block Address)の概念が生まれる前はディスクアドレスの管理を担当していた。いわゆるCHSとはシリンダー、ヘッド、セクターのことで、ディスクアドレスはこの3つの変数で記述されますが、ここで表現されているのは物理アドレスではなく論理アドレスであることを理解してください。この方法は、LARGE アドレッシング モードとも呼ばれます。このメソッドでは次のようになります。

ハードディスク容量 = ヘッド数 x シリンダ数 x セクタ数 x セクタ サイズ (通常は 512 バイト)。

その後、各セクタに論理アドレスを割り当て、セクタ単位でアドレッシングするLBAアドレッシング方式もあります。ただし、CHS モードとの互換性を保つため、論理変換アルゴリズムにより、ヘッド/シリンダ/セクタの 3 つのパラメータに変換して表現することができ、LARGE アドレッシング モードと同様に、ここでのアドレスも論理アドレスになります。(ソリッドステート ハードディスクの記憶原理は機械式ハードディスクとは異なり、フラッシュ ストレージを使用しますが、管理には依然として LBA が使用されるため、ここでは詳しく説明しません。)

一般科学のこの時点で、MBR パーティションを理解することができます。ここで、MBR パーティションの技術原則を見てみましょう。

MBRの原理

MBR: マスター ブート レコード、メイン パーティションのブート レコード。これは 1983 年に IBM PC DOS 2.0 で初めて提案されました。前述したように、各セクター/ブロックには論理ブロック アドレス、つまり LBA が割り当てられますが、ブート セクターは各パーティションの最初のセクターであり、マスター ブート セクターはハードディスク全体の最初のセクターです。プライマリ パーティションの最初のセクター)。MBR はマスター ブート セクターに保存されます。さらに、このセクタには、ハードディスク パーティション テーブル DPT (Disk Partition Table) とエンド マーカー ワード (マジック ナンバー) も含まれています。セクターは合計 512 バイトで、MBR は 446 バイト (0000H ~ 01BDH)、DPT は 64 バイト (01BEH ~ 01FDH)、最後のマジック ナンバーは 2 バイト (01FEH ~ 01FFH) を占めます。

次に、MBR レコードの例を見てみましょう。

80 01 01 00、0B FE BF FC、3F 00 00 00、7E 86 BB 00

このうち、「80」はパーティションの活性化フラグでありシステムがブート可能であることを示し、「01 01 00」はパーティションの先頭番号が01、セクタ番号が01、シリンダ番号が00であることを示す。 「0B」は、このパーティションのシステム タイプが FAT32 であることを示し、その他の一般的に使用されるタイプは 04 (FAT16)、07 (NTFS) です。「FE BF FC」は、パーティションの末尾のヘッド番号が 254、セクタであることを意味します。パーティションの終わりの番号は 63、パーティションの終わりのシリンダーの番号は 764、「3F 00 00 00」は最初のセクターの相対セクター番号が 63 であることを示し、「7E 86 BB 00」はそれを示しますセクターの総数は 12289622 であることがわかります。

DPT に 64 バイトだけが割り当てられている場合、各パーティション エントリは 16 バイトを占有するため、より多くのパーティション、拡張パーティション、および論理パーティションの概念をサポートするために、記録できるパーティション情報は 4 つだけであることがわかります。ただし、各パーティション エントリは依然として 16 バイトで保存されます。表現できる最大セクタ数は FF FF、FF FFH であるため、最大管理可能領域 = 総セクタ数 * セクタ サイズ (512 バイト)、つまり 2TB になります (ハードディスクの製造元が単位換算に 1:1000 を使用しているため2.2TBもあります。彼らを責めないでください。彼らはプログラマーではありません)。2TBを超えるとアドレスが割り当てられなくなり、当然管理できなくなります。

MBR には多くの欠点があり、その用途は大きく制限されます。ハードディスクのテクノロジーは日々変化しており、ハードディスクの容量は飛躍的に進歩しています (Seagate は今年 60TB ソリッド ステート ドライブの販売を開始します)。余分なハードディスクの容量を放っておくことはできません。そのため、新しいテクノロジが開発されています。新しく生まれたUEFI仕様に基づいて開発されました。

GPTの原理

GPT パーティション: 正式名は Globally Unique Identifier Partition Table で、GUID パーティション テーブルとも呼ばれ、UEFI 仕様の一部です。ハードディスク容量の急速な増加により、MBR の 2.2T 容量では要件を満たすことが困難になりましたが、UEFI BIOS の推進により GPT 実現に向けた強固な技術基盤が整ったことから、GPT が誕生しました。

GPT の構造図を見てみましょう。

ちょっと待って、MBR が間違ったセットに行ったのでしょうか? 答えはもちろんノーです。ここでの P は保護を意味し、PMBR の意味は、GPT をサポートしていないパーティション ツール (MS-DOS や Linux の fdisk プログラムなど) がハードディスク上で動作しようとしたときに、従来の方法で起動できることです。この PMBR によると、MBR+BIOS とまったく同じであり、互換性が大幅に向上しています。GPT をサポートするシステムは、PMBR を検出した後、GPT ヘッダーに直接ジャンプしてパーティション テーブルを読み取ります。MBR と同様に、パーティション テーブルには、特定のパーティションの開始位置と終了位置、およびそのファイル システム属性情報が格納され、パーティションは実際の物理ディスクの一部です。

GPT HDR: GPT ヘッダーは、次の図に示すように、主にパーティション テーブル内の項目数と各項目のサイズを定義し、ハードディスクの容量情報も含まれます。64 ビット Windows Server 2003 マシンでは、最大 128 個のパーティションを作成できます。つまり、それぞれ 128 バイトの 128 個のエントリがパーティション テーブルに予約されます。(これは EFI 標準の最小要件でもあり、パーティション テーブルには少なくとも 16,384 バイトが必要です) パーティション テーブル ヘッダーには、このハード ディスクの GUID、パーティション テーブル ヘッダーの場所 (常に LBA1) およびサイズも記録されます。また、バックアップ パーティション テーブル ヘッダーとパーティション テーブルの場所とサイズ情報 (LBA-1 ~ LBA-34) も含まれます。また、それ自体の CRC32 チェックサムとパーティション テーブルも保存されます。ファームウェア、ブートプログラム、およびオペレーティングシステムは、起動時にこの検証値に基づいてパーティションテーブルが間違っているかどうかを判断でき、間違っている場合は、ソフトウェアを使用してハードディスクの最後のバックアップGPTからパーティションテーブル全体を復元できます。バックアップ GPT にも検証エラーがある場合、ハードディスクは使用できません。具体的な内容は以下の通りです。

パーティション テーブル: パーティションのタイプ GUID (例: EFI システム パーティションの GUID タイプは {C12A7328-F81F-11D2-BA4B-00A0C93EC93B})、名前、開始位置と終了位置、パーティションの GUID を含むパーティション テーブル、およびパーティション属性。その内容は次のとおりです。

Microsoft は現在、パーティション属性をより詳細に区別しています。

MBR と比較して、GPT には次の利点があります。

(1) LBA の 64 ビットへのアップグレードとパーティション テーブルの各 128 ビット設定のおかげで、GPT の管理可能な領域はほぼ無限になり、セクターのサイズが 512 バイトのままであると仮定すると、セクター数は計算すると、管理可能なハードディスク容量 = 18EB (1EB = 1024PB = 1,048,576TB) となり、2T 前でも問題ありません。現在のハードディスク技術によれば、それは確かにほぼ無限ですが、将来何が起こるかは誰にもわかりません。

(2)パーティション数にほとんど制限はなく、テーブルヘッダーでパーティション数を設定できるので、必要に応じてパーティションを設定することもできます(そんなに多くのパーティションを管理したい人はいますか)。 Windows は最大 128 個のパーティションのみをサポートします。

(3)自己完結型の保険。ディスクの先頭と末尾に GPT ヘッダーがあるため、どちらか一方が損傷してももう一方を介して復元でき、ディスクの耐性が大幅に向上します (2 つが壊れた場合)一緒に宝くじを買いに行ってください)。

(4)主要なデータ構造に対して巡回冗長検査値が計算されるため、データ破損の検出確率が向上します。

(5)現在のパーティション タイプは数百を超えません (数十もカウントしません) が、GPT はパーティション タイプを識別するための 16 バイトの GUID を提供するため、競合が発生する可能性が低くなります。

(6)各パーティションには、詩を書くのに十分な最大 72 バイトの特別な名前を付けることができます。素晴らしいネーミングのニーズをすべて満たします。

UEFI の完全なサポート。結局のところ、UEFI 仕様の派生です。将来の業界全体の UEFI シナリオでは、GPT は MBR をより迅速に排除します。

他の

次に、給餌時間を入力し、ハードディスクの知識をさらに詳しく説明します。

先ほども述べたように、磁化された円弧をセクターと呼び、セクターのサイズは512Bですが、ハードディスクがファイル操作を行うときの単位はセクターではなくクラスターで、その最小単位が「クラスター」です。ユニットでは、クラスターには複数のセクターを含めることができます。現在、クラスターに 4 つのセクターが含まれており、クラスターのサイズが 2KB で、ファイルのサイズがちょうど 2KB であると仮定すると、そのクラスターは、システムの使用可能なスペースをすべて占有します。サイズが 1B のファイルがある場合でも、ファイルを保存する必要がある場合、占有しているスペースもクラスタになり、クラスタ内の他のスペースは読み書きできません。

ファイル システムはクラスター サイズを管理します。

FAT16/FAT32: 初期の MS-DOS および WIN95 オペレーティング システムで最も一般的なハードディスク パーティション形式。クラスターの最小サイズは 512 バイトで、そのサイズは最大 32K まで増やすことができます。システムは各クラスターに一意のインデックス番号 (クラスターを識別するための 16 ビット 2 進数) を割り当てます。16 ビット 2 進数は最大 65536 であるため、FAT パーティションが所有するクラスターの数は 65536 を超えることはできません。このため、FAT パーティションのサイズは 2GB を超えることができません。FAT16 - FAT32 の後継バージョンは基本的にその原理と同じですが、以前のバージョンと比較すると、唯一の利点はパーティションが 2GB を超えることができることですが、4GB を超える単一ファイルを保存できないことです。 movie. 3Gとか4Gとか、明らかに違う 時代のニーズに合致してすぐに淘汰される。

FAT ファイル システムに関するさらなる知識: FAT ファイル システムと UEFI - コラムを知る

FAT と比較した NTFS ファイル システムの最大の利点は、ファイル暗号化をサポートしていることであり、ログ ファイル システムの採用により、ディスク上のすべての読み取りおよび書き込み操作が詳細に記録され、データとシステムのセキュリティが向上します。ポイントは、4GBのサイズ制限を突破していることです。機械式ハードディスクのパーティション分割の主流でもあります。しかし、人々に親しみやすくなっているフラッシュストレージでは、操作記録が多すぎると記憶媒体への負担が大きくなり、同じアクセス操作であれば、NTFSに比べて読み書き回数が大幅に減少してしまいます。 FAT32 の寿命に比べて寿命が短いという欠陥が生じます。したがって、モバイル ストレージ デバイスとソリッド ステート ドライブには、exFAT ファイル システムが導入されました。

exFAT: パーティション サイズと単一ファイル サイズは最大 16EB (16×1024×1024TB) に達することができます。クラスター サイズは非常に柔軟で、最小は 512B、最大は 32MB、残りのスペース割り当てテーブルが採用されており、スペース使用率が高く、同じディレクトリ内の最大ファイル数は 65536 に達する場合があります。その機能は NTFS より強力ではないかもしれませんが、主にフラッシュ ストレージ デバイス (SSD、U ディスク) 用に最適化されており、従来のハードディスクをこの形式でフォーマットすることはできません。

セクター、クラスター、ファイル システム、パーティションという用語について少し混乱している場合は、次の図を見てください。

なぜ 4k セクターが突然画面に表示され、その下に 8 つの 512b セクターがあるのか​​と疑問に思う人もいるかもしれません。側面の迷彩柄は何を意味するのでしょうか?おめでとうございます。ここ数年のハードディスク開発のトレンドを把握できましたね。

セクターのサイズは慣例ですが、実際には変更することができ、2009 年後半から、ハードディスク メーカーは従来の 512 バイト セクターから、より大きく効率的な 4096 バイト セクターへの移行を進めています。協会 (国際ディスクドライブ装置および

Materials Association、IDEMA) はこれをアドバンスト フォーマットと呼び、現在では「4K セクター」と呼ばれることが多いです。

長年にわたり、ハードディスク業界は 512 バイトのセクターを採用してきました。しかし、ハードディスク容量が増加し続けるにつれて、ハードディスク容量とエラー訂正効率を向上させる上で、セクタ サイズがますます制約になりつつあります。セクタ解像度 (合計ストレージ サイズに対するセクタ サイズの割合) は低下していますが、小さな個別のデータを管理する場合は、解像度が低い方が優れています。しかし、現代のコンピューティング システムは大きなデータ ブロックでいっぱいであり、通常、従来の 512 バイトのセクター サイズよりもはるかに大きくなります。また、面積密度が増加するにつれて、512 バイトの小さなセクターがハード ドライブ表面に占めるスペースはますます少なくなります。ハードディスク セクタ内のデータが占めるスペースが小さくなるほど、同じサイズのメディア欠陥がデータ負荷全体に与えるダメージの割合が高くなるため、エラー訂正はより困難になります。そのため、より高いエラー訂正強度が必要となります。現在、ハードドライブは高度な領域密度によりエラー訂正の上限を増加し始めています。したがって、エラー訂正を改善し、フォーマット効率を達成するために、セクター サイズを増やすことがハードディスク業界の共通の要求となっています。

ただし、コンピューター システムの発展が遅いため、ほとんどのセクターは依然として 512 バイトであると想定されているため、4K アラインメントの問題が発生します。ハードディスクの物理パーティションがコンピュータが使用する論理パーティションと一致している場合でも、ハードディスクの読み取りおよび書き込み効率は保証されます。

4kアライメントがあれば、当然4kのズレも生じます。このポットはおそらくオペレーティング システムにスローされる必要があります。オペレーティング システムとの互換性を確保するために、ハードディスク メーカーは、新しい標準の「4K セクター」ハードディスクをセクター サイズ 512B のハードディスクにシミュレートしますが、この問題はシステムが何らかの特殊な環境でフォーマットされているときに発生します。状況 (ghost11.5 以下の使用など) では、デフォルトでクラスターとして 4096 バイトとして定義されますが、これは問題ありませんが、ブート領域が 63 セクターしか占有しないため、実際のファイル システムはセクター 63 にあります。後、

最初の 63 セクターのサイズは、63*512B = 32256B として計算できます。

63 セクターが占有するクラスターの数: 32256B/4096B=7.875 クラスター。

64 番目のセクターから開始して、各クラスターは 2 つの物理ユニットにまたがり、前のユニットの小部分と次のユニットの大部分を占めます。前述したように、システム ファイル操作はクラスターに基づいています。各クラスターが 2 つを使用する場合、各クラスターは 2 つの物理ユニットを使用します。セクタが増えると、必然的に読み取りおよび書き込み速度が遅くなります。「4K ミスアライメント」の概念が生まれました。「4K アライメント」で行う必要があるのは、ハードディスクのシミュレートされたセクター (512B) を、「実際の」4K セクターの 8 の整数倍、つまり 8*4096 = 32768B に揃えることです。 , そのため、64 番目のセクターから整列したちょうど 63 セクターのプロパティにまたがります。

実際、オペレーティング システムだけでなく、広く使用されている一部のソフトウェア プログラムも 4K の位置ずれを引き起こす可能性があります。したがって、アライメント技術の存在は確かに必要である。4K が 512b に置き換わることは避けられませんが、3 フィートの凍結は一夜にして起こるものではなく、業界全体がこのテクノロジーを完全に推進するにはまだ時間がかかります。

追記

GPT に関するよくある質問は次のとおりです。

1. Q: ハード ドライブが MBR か GPT かを確認するにはどうすればよいですか?

A: Windows には、図に示すように、非常に便利なツール、diskpart が付属しており、いくつかの簡単なコマンドを実行するだけです。

2. Q: GPT を MBR に変換するにはどうすればよいですか?

A: まだ diskpart です (警告: まずコンテンツをバックアップしてください)。convert mbr コマンドを使用してください。

しかし、結局のところ、MBR は時代遅れのテクノロジであるため、これは行わないことをお勧めします。変換する前に、すべてのパーティションを削除するか、clean を直接使用してください。コンテンツを失いたくない場合は、無料ソフトウェアであるAOMEI Partition Assistant Standardを使用することをお勧めします。完璧に機能しました。念のため、事前にコンテンツをバックアップしておくことをお勧めします。

3. Q: GPT は素晴らしいので、すぐに使いたいのですが、MBR を GPT に変換するにはどうすればよいですか?

A: これは良いアイデアです。答えは Diskpart です。

変換する前に、すべてのパーティションを削除するか、clean を直接使用してください。コンテンツを失いたくない場合は、無料ソフトウェアであるAOMEI Partition Assistant Standardを使用することをお勧めします。完璧に機能しました。念のため、事前にコンテンツをバックアップしておくことをお勧めします。

おすすめ

転載: blog.csdn.net/WASEFADG/article/details/131552779