単一のハードディスク上の最大パーティション数は?

単一のハードディスク上の最大パーティション数は?

1 つのドライブに作成できるパーティションの最大数はいくつですか? 同じディスクに 16 個程度のパーティションを作成したときにエラーが発生したことを覚えています。なぜこのような制限を設けたのですか? パーティションが無制限であることの何が問題なのでしょうか?

歴史的な理由から、プライマリ パーティションは 4 つ存在でき、それらは最初の 512 バイトに格納されることは知っています。したがって、最後のパーティション情報を使用して、別のパーティション テーブルを指定します。その後、パーティションのリンク リストを作成します。なぜ制限を設けるのかを知りたいのです。何らかの利点があるはずです。当時、16 を超えるパーティションを作成する人がいなかったからといって、16 パーティションに制限を設けるのは意味がありません。制限を設けることで、何らかの利点があるはずです。または、パーティションでサポートされる最大ファイル サイズのような理論的な理由があるかもしれません。

答え1

4 つのプライマリ/拡張パーティション。拡張パーティションを使用する場合は、その拡張パーティション内に任意の数の論理ディスクを含めることができます。標準形式のディスクでは、パーティション テーブルには 4 つのエントリしか格納できません。ディスクを GPT にアップグレードすると、制限が変わると思いますが、新しい制限が何であるかはわかりません。

JR

答え2

マスター パーティション テーブル ディスクの場合、制限はマスター ブート レコードのパーティション テーブルのサイズ (記憶が正しければ 512 バイト) に基づきます。マスター ブート レコードは 80 年代に IBM によって発明されました。また、特定の OS にはさまざまな理由から独自の制限があります。標準では、拡張パーティションに最大 24 個のパーティションを含めることができます。なぜ制限があるのでしょうか。多くの制限と同様に、このサイズは「十分」であるように思われました。また、実際には、さまざまな OS カーネルが開発中だった当時、パーティション数がそれほど大きくなることはめったにありませんでした。

ちなみに、これが多くの OS が独自のパーティション分割を実装する理由です。Linux では LVM がこれを回避します。GPT は、旧式のパーティション テーブルを使用せずにパーティション分割を処理する Windows の方法です。NetWare の NSS ファイル システムは、単一の「パーティション」があり、それがメディア マネージャーでさらに分割されるという点で、LVM とよく似ています。

答え3

友人が Linux 上で奇妙なエクステントベースの MD+LVM を試していたのですが、どうやら Linux ではディスクごとに 63 パーティションというハード制限があるようです。これが拡張パーティションあたりのファイルシステム数なのか、それとも何か他のものなのかはわかりません。今の時代では、あまり関係ないのではないかと思います。

答え4

制限はスペース (512 バイトを参照) などの制限によって決定されますが、「この制限に達した場合は何か間違っている」という理由だけで制限が設定されることも珍しくありません。

「昔」、なぜ 40 MB のハード ドライブ (私がそうしていた) を複数のパーティションに分割する必要があったのでしょうか。おそらく少数のユーザーにはそうしたニーズがあったでしょうが、ほとんどのユーザーは、ディレクトリではなくパーティションを作成したい場合、私のように「間違った方法」でそれを行っていたでしょう。

前述のように、LVM は制限を回避する 1 つの方法です。ZFS は別の方法ですが、パーティションを考える代わりに、ドライブを zpool に投入して、必要な数の「ファイルシステム」を作成します。いくつかのデモでは、何千もの ZFS ファイルシステムを見てきました。ドライブを何千ものセグメントにパーティション分割するのと同じではありませんが、セグメント化の利点をすべて得ることができ、欠点はほとんどありません。

関連情報