
ディスクパーティショニングまたはディスクスライシング[ 1 ]は、セカンダリストレージ上に1つ以上の領域を作成し、各領域を個別に管理できるようにすることです。[ 2 ]これらの領域はパーティションと呼ばれます。これは通常、ファイルシステムを作成する前に、新しいディスクのパーティショニング方式を選択した後、新しくインストールされたディスクを準備する最初のステップです。ディスクは、パーティションの位置とサイズに関する情報をパーティションテーブルと呼ばれる領域に格納し、オペレーティングシステムはディスクの他の部分よりも先にこの領域を読み取ります。各パーティションは、オペレーティングシステムから見ると、実際のディスクの一部を使用する個別の「論理」ディスクとして認識されます。システム管理者は、パーティションエディタと呼ばれるプログラムを使用して、パーティションの作成、サイズ変更、削除、および操作を行います。[ 3 ]パーティショニングにより、異なる種類のファイルに対して異なるファイルシステムをインストールできます。ユーザーデータとシステムデータを分離することで、システムパーティションがいっぱいになってシステムが使用できなくなるのを防ぐことができます。パーティショニングはバックアップも容易にします。欠点としては、パーティションのサイズを適切に設定するのが難しい場合があり、その結果、一方のパーティションに空き容量が多すぎたり、もう一方のパーティションがほぼ完全に割り当てられてしまったりする可能性がある点が挙げられます。
ディスクドライブのこのような分割の最も初期の形態の1つは、IBMが1966年にCP-67オペレーティングシステムでミニディスクをハードディスクドライブの独立したセグメントとして使用したことである[ 4 ] 。 [ 5 ]
Data General社のNovaコンピュータ向けRDOSオペレーティングシステムでは、ディスクのサブ領域をパーティションと呼んでいました。各パーティションには独自のディレクトリがありました。 [ 6 ] [ 7 ]
IBMは1983年にリリースしたPC DOSバージョン2.0でも、 HDDなどのブロックストレージデバイスを物理的なセグメントに分割することを「パーティション」という用語で表現しました。この用語は現在では広く使われています。その他に使われている用語には、論理ディスク[ 8 ]、ミニディスク[ 5 ]、部分[ 9 ]、擬似ディスク[ 9 ]、セクション[ 9 ]、スライス[ 10 ] 、仮想ドライブ[ 11 ]などがあります。
DOS、Microsoft Windows、およびOS/2では、オペレーティングシステム、ページ/スワップファイル、すべてのユーティリティ、アプリケーション、およびユーザーデータを格納するアクティブなファイルシステム用に、1つのプライマリパーティションを使用するのが一般的です。ほとんどのWindowsコンシューマーコンピュータでは、このプライマリパーティションにドライブ文字C:が常に割り当てられます。リカバリパーティションや診断ツールまたはデータを含むパーティションなど、ドライブとして認識される場合とされない場合がある他のパーティションがHDD上に存在することもあります。(Windowsのドライブ文字はパーティションと1対1で対応しているわけではないため、ドライブ文字の数はパーティションの数よりも多い場合も少ない場合もあります。)
Microsoft Windows 2000以降のバージョンには、「ディスクの管理」プログラムが含まれており、FATおよびNTFSパーティションの作成、削除、サイズ変更が可能です。Windows VistaおよびWindows 7のWindowsディスクマネージャーは、1MBのパーティションアライメント方式を採用していますが、これはWindows 2000、XP、OS/2、DOS、その他多くのオペレーティングシステムとは根本的に互換性がありません。
Linux、macOS、BSD、SolarisなどのUnixベースおよびUnixライクなオペレーティングシステムでは、ディスクデバイス上に複数のパーティションを使用することが可能です。各パーティションは、ファイルシステムでフォーマットすることも、スワップパーティションとしてフォーマットすることもできます。
複数のパーティションを使用することで、/boot、/tmp、/usr、/var、/homeなどのディレクトリにそれぞれ独自のファイルシステムを割り当てることができます。このような方式には、以下のような多くの利点があります。
Linux システムで一般的な最小限の構成は、3 つのパーティションを使用することです。1 つはシステム ファイルを格納するパーティションで、これは「/」(ルート ディレクトリ)にマウントされます。もう 1 つはユーザー設定ファイルとデータを格納するパーティションで、これは /home(ホーム ディレクトリ)にマウントされます。そして、スワップ パーティションです。
デフォルトでは、macOSシステムもファイルシステム全体に単一のパーティションを使用し、スワップパーティションではなく、ファイルシステム内のスワップファイルを使用します(Windowsと同様)。
Solarisでは、パーティションは「スライス」と呼ばれることがあります。これは、ケーキを数切れに切り分けるという概念に由来しています。
FreeBSDオペレーティングシステムでは、「スライス」という用語はマスターブートレコードパーティションを指すために使用され、FreeBSD独自のディスクラベルベースのパーティショニング方式との混同を避けるようにしています。ただし、GUIDパーティションテーブルパーティションは、世界中で「パーティション」と呼ばれています。

マルチブートシステムとは、ユーザーが複数の異なるオペレーティングシステム(OS)を起動できるコンピュータのことです。これらのOSは、別々のストレージデバイス、または同じストレージデバイスの別々のパーティションに保存されています。このようなシステムでは、起動時にメニューが表示され、起動するOSを選択できます(一度にロードされるOSは1つだけです)。
これは仮想オペレーティングシステムとは異なります。仮想オペレーティングシステムでは、あるオペレーティングシステムが、既に稼働している別のオペレーティングシステム内で、自己完結型の仮想「プログラム」として実行されます。(例としては、Linux OS内で実行されるWindows OSの「仮想マシン」が挙げられます。)
GUIDパーティションテーブル(GPT)(GUIDはGlobally Unique IDentifierの略)は、物理ハードディスク上のパーティションテーブルのレイアウトに関するUEFI(Unified Extensible Firmware Interface )標準の一部です。現在、多くのオペレーティングシステムがこの標準をサポートしています。ただし、WindowsはBIOSベースのコンピュータではこれをサポートしていません。[ 12 ]
パーティションが削除されると、そのエントリはテーブルから削除され、データにアクセスできなくなります。データは上書きされるまでディスク上に残ります。専用のリカバリユーティリティを使用すると、失われたファイルシステムを検出し、復元されたファイルシステムのエントリを含むパーティションテーブルを再作成できる場合があります。ディスクユーティリティによっては、削除するパーティションの先頭セクターを上書きする場合があります。たとえば、Windows ディスク管理 (Windows 2000/XP など) を使用してパーティションを削除すると、削除する前にパーティションの最初のセクター (相対セクター 0) が上書きされます。バックアップブートセクターが利用可能な場合は、 FATまたはNTFSパーティションを復元できる可能性があります。
HDDは圧縮することで追加容量を確保できます。DOSや初期のMicrosoft Windowsでは、Stacker(DR-DOS 6.0を除く)、SuperStor(DR - DOS 6.0)、DoubleSpace(MS-DOS 6.0~6.2)、DriveSpace(MS-DOS 6.22、Windows 9x)などのプログラムが使用されていました。この圧縮は、パーティション上に非常に大きなファイルを作成し、ディスクのデータをこのファイルに格納することで行われました。起動時に、デバイスドライバはこのファイルを開き、別のドライブレターを割り当てました。混乱を避けるため、元のパーティションと圧縮されたドライブのドライブレターが入れ替わっていることが多く、圧縮されたディスクがC:、圧縮されていない領域(多くの場合システムファイルが含まれている)にはより高いドライブレターが割り当てられました。
NTカーネルを使用するWindowsのバージョン(最新バージョンのWindows 11を含む)には、ディスク圧縮機能が組み込まれています。処理能力の向上や、より効率的で透過的な圧縮方法の進歩にもかかわらず、個別のディスク圧縮ユーティリティの使用は急激に減少しています。最新の圧縮ユーティリティには、CompactGUIやCompressorXなどがあります。[ 13 ]
パーティションテーブルは、オペレーティングシステムによってディスク上に維持されるテーブルであり、そのディスク上のパーティションの概要と説明を示します。[ 14 ]パーティション テーブルとパーティション マップという用語は類似しており、互換的に使用できます。この用語は、 PCのマスター ブート レコード(MBR)のMBR パーティション テーブルと最も一般的に関連付けられていますが、 GUID パーティション テーブル(GPT)、Apple パーティション マップ(APM)、[ 15 ]またはBSD ディスク ラベル[ 16 ]など、ディスク ドライブをパーティションに分割する他の形式を指すために一般的に使用される場合があります。
以下は、マルチブート構成で使用される512GB NVM ExpressソリッドステートドライブのGUIDパーティションテーブルの例です。このパーティションには、 EFIシステムパーティション、 Microsoft予約パーティション、3つのMicrosoft基本データパーティション(1つはWindows標準パーティション、2つは非表示のWindows回復環境パーティション)、および3つのLinuxパーティション(スワップパーティションを含む)が含まれています。
ラベル: gpt ラベルID: 96BB56B7-AE3C-4E94-986E-10E7F3CCA80B デバイス: /dev/nvme0n1 単位:セクター first-lba: 34 last-lba: 1000215182 sector-size: 512 /dev/nvme0n1p1 :開始= 2048、サイズ= 532480、タイプ= C12A7328-F81F-11D2-BA4B-00A0C93EC93B、uuid = 7885D52E-0F50-4E28-B058-8DCE7B7FF921、名前= "EFI システム パーティション" /dev/nvme0n1p2 :開始= 534528、サイズ= 32768、タイプ= E3C9E316-0B5C-4DB8-817D-F92DF00215AE、uuid = 5C34D099-E77A-4B46-9662-430D33E55AFF、名前= "Microsoft 予約パーティション" /dev/nvme0n1p3 :開始= 567296、サイズ= 419196928、タイプ= EBD0A0A2-B9E5-4433-87C0-68B6B72699C7、uuid = 109218B1-3097-4635-BE5F-044E28C2BCB0、名前= "基本データパーティション" /dev/nvme0n1p4 :開始= 419764224、サイズ= 1669120、タイプ= DE94BBA4-06D1-4D40-A16A-BFD50179D6AC、uuid = 527B26E5-2768-444E-AB1F-ECB28201F3C8、属性= "RequiredPartition GUID:63" /dev/nvme0n1p5 : start = 421435392、size = 329410560、type = 0FC63DAF-8483-4772-8E79-3D69D8477DE4、uuid = 5C52E480-AEE7-437B-A136-53F8C946D5ED、name = "Linux Stuff" /dev/nvme0n1p6 : start = 750845952、size = 243933184、type = 0FC63DAF-8483-4772-8E79-3D69D8477DE4、uuid = 023F3B88-D3D9-4E39-9F50-77F242410789、名前= "Linux Root" /dev/nvme0n1p7 :開始= 994779136、サイズ= 4194304、タイプ= 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F、uuid = 18F44D65-B28D-4871-AF02-DDBD96771460、名前= "Swap" /dev/nvme0n1p8 :開始= 998973440、サイズ= 1228800、タイプ=DE94BBA4-06D1-4D40-A16A-BFD50179D6AC、uuid = D4A41B1A-2F28-4AE5-AC67-A2D98FB91E22、名前= "基本データパーティション"、属性= "必須パーティション GUID:63"このセクションでは、 PC互換コンピュータシステムにおいて、 DOS、Microsoft Windows、Linuxなどで従来使用されてきたマスターブートレコード(MBR)パーティショニング方式について説明します。2010年代半ば以降、ほとんどの新しいコンピュータは代わりにGUIDパーティションテーブル(GPT)パーティショニング方式を使用しています。その他のパーティショニング方式の例については、パーティションテーブルに関する一般的な記事を参照してください。
MBRパーティショニングが実装されているPCのHDDのデータストレージ容量は、最大で4つのプライマリパーティション、または3つのプライマリパーティションと1つの拡張パーティションで構成されます。マスターブートレコードにあるパーティションテーブルには、16バイトのエントリが含まれており、各エントリはパーティションを記述します。
パーティションの種類は、パーティションテーブルのエントリに含まれる1バイトのコードによって識別されます。これらのコードの中には(0x05や0x0Fなど)、拡張パーティションの存在を示すために使用されるものもあります。ほとんどのコードは、オペレーティングシステムのブートローダー(パーティションテーブルを調べる)によって使用され、パーティションにマウント/アクセス可能なファイルシステムがあり、データの読み書きが可能かどうかを判断するために使用されます。
プライマリパーティションには、1つのファイルシステムが含まれます。DOSおよび初期のMicrosoft Windowsシステムでは、 Microsoftはシステムパーティションと呼ばれるパーティションを最初のパーティションにすることを必須としていました。Windows 95以降のすべてのWindowsオペレーティングシステムは、(ほぼ)どのパーティションにも配置できますが、ブートファイル(io.sys、など)はプライマリパーティションに配置する必要があります。ただしbootmgr、ntldrPCのBIOS(標準PCのブートシーケンスを参照)などの他の要因によって、プライマリOSをどのパーティションに配置する必要があるかについて特定の要件が課される場合もあります。
プライマリ パーティションのパーティション タイプコードは、その内部に含まれるファイルシステムに対応するか (たとえば、0x07はNTFSまたは OS/2 HPFSファイルシステムを意味します)、パーティションが特別な用途を持つことを示します (たとえば、コード0x82は通常、Linux のスワップパーティションを示します)。FAT16およびFAT32ファイルシステムは、さまざまな DOS および Windows OS バージョンの制限により、多数のパーティション タイプ コードを使用してきました。Linux オペレーティングシステムは、さまざまなファイルシステム ( ext4、ext3、ext2、ReiserFSなど) を認識する可能性がありますが、それらはすべて一貫して同じパーティション タイプ コード0x83 ( Linux ネイティブ ファイルシステム) を使用しています。
HDDには拡張パーティションが1つしか含まれていない場合でも、その拡張パーティションを複数の論理パーティションに分割することができます。DOS/Windowsシステムでは、各論理パーティションに固有のドライブ文字を割り当てることができます。GUIDパーティションテーブル(GPT)にはプライマリパーティションしかなく、拡張パーティションと論理パーティションは含まれません。
BIOSブートパーティション(BIOS BP)は、オペレーティングシステムを起動するソフトウェア(ブートローダー)を格納するために使用されるストレージデバイスの共有領域です。これは、オペレーティングシステムのカーネルイメージまたはブートローダー、あるいは完全に独立したソフトウェアである場合があります。[ 17 ] [ 18 ]: 136
EFIシステムパーティションはBIOS BPと同じですが、BIOSではなくEFIファームウェアによってロードされます。[ 17 ] [ 18 ] : 136
ミニディスクは物理ディスクの一部にすぎませんが、ゲストからは別のディスクのように見えます。