パーティションとパーティションテーブルの違い

パーティションとパーティションテーブルの違い

パーティションの概念はよく知っています。たとえば、ハード ドライブを複数のパーティションに分割し、Windows の場合は ntfs、Linux の場合は ext4 など、異なるフォーマットにして、grub などを使用していずれかのパーティションを起動することができます。

私は gparted のマニュアルを読んでいて、初めて「パーティション テーブル」という用語に出会いました。

http://gparted.org/display-doc.php?name=help-manual#gparted-create-partition-table

実際に 2 番目のハード ドライブ (/dev/sdb) に対して [デバイス] > [パーティション テーブル] を選択すると、新しいパーティション テーブル タイプを作成するように求めるポップアップが表示され、オプションには msdos、aix、amiga、bsd などがありました。

パーティション テーブルの作成とパーティションの作成には違いがありますか?

答え1

システムはパーティションの場所をどうやって知ったと思いますか?

ディスク上のパーティションの位置は、テーブル内のレコードとして保存されます。これは…待ってください…パーティションテーブル、パーティション自体があるディスクに書き込まれます。(パーティション テーブルがパーティション自体と同じディスクに存在することは厳密には必要ではありません。ただし、この考え方はパーソナル コンピューティングの世界ではまれであり、事実上存在しないため、この回答の範囲を超えています。)

ご覧のとおり、パーティションテーブルにはさまざまな種類があります。それらはそれぞれ構造が異なり、David Dai がディスクの先頭にあると言ったことは、それらの一部にのみ当てはまります。重要なのは、少なくとも部分的には、固定され、よく知られているディスク上に配置します。例:

  • EFI パーティション テーブルは、ディスク上の 2 つの場所を占めます。ディスクの先頭の数セクターとディスクの末尾の数セクターです。論理セクター #1 の固定位置にある「ヘッダー」レコードは、ディスクの最後のセクターの既知の位置にもミラーリングされており、テーブル レコード自体のサイズと場所を示します。
  • 古い「MBR」スタイルのパーティション テーブルはディスク全体に分散されていますが、ディスクの論理セクター #0 の 4 つの「プライマリ」テーブル エントリの固定セットから始まり、(潜在的には、この回答の範囲外の大量の「if」と「but」に応じて) 他の可変の場所にある「拡張」エントリの単一リンク リストを指します。
  • BSD ディスクラベル スキーム (ネイティブで使用される場合) には、ディスクの論理セクター #0 に 8 つのパーティション レコードのテーブルがあります。

ディスクには、パーティション テーブルのデータ構造が最初から書き込まれているわけではありません。したがって、異機種環境でパーティション テーブルを読み取るには、通常、固定された既知の場所で署名ワードを検索し、チェックサム検証を実行して、特定のタイプのパーティション テーブルが実際にディスク上にあることを確認する必要があります。 パーティションテーブルの作成特定のタイプの有効な空のパーティション テーブルを形成するために必要な署名、チェックサム、および null エントリをディスクに書き込む操作です。 パーティションの作成単にそのようなテーブルにレコードを追加する行為です。(その後にパーティションのフォーマットもちろん。)

答え2

パーティション テーブルは、ハード ディスクの先頭に保存される情報で、このハード ディスクがどのようにパーティション分割されているか (パーティションの数、各パーティションのサイズと場所など) を記述します。

パーティション テーブルにはさまざまな種類があります。たとえば、MS-DOS では最大 4 つのプライマリ パーティションしか作成できません。その他のパーティション テーブルには異なる機能がある場合があります。

パーティション テーブルを作成すると、ハード ディスクが再初期化され、すべてのパーティションが失われます。

関連情報