回答:
割り当てられたスペース(パーティション)と未割り当てスペースは、ディスクに含まれるパーティションテーブルを読み取ることで識別されます。MBRパーティションスキームの場合、パーティションのエントリは、ハードディスクの446〜511バイトに保存されます。
一般に、各パーティションエントリには、オフセットと長さ、およびパーティションのタイプが含まれます。たとえば、次は仮想の12288バイト(12 KB!)ハードディスク上のMBRエントリです。
+==================================+
| ID | Offset | Length | Type |
|====+==========+==========+=======|
| 1 | 512 | 1024 | NTFS |
| 2 | 1536 | 1536 | NTFS |
| 3 | 6144 | 6144 | ext4 |
+==================================+
この例では、3つのパーティションがあります。最初のパーティションはオフセット512〜1536を占有します。2番目のパーティションはオフセット1536〜3072を占有します。3番目のパーティションはオフセット6144〜12288を占有します。
ここから、オフセット3072〜6144はどのパーティションにも占有されていないため、未割り当て領域として識別されていることがわかります。
さて、unallocatedというファイルシステムはもうファイルシステムではありません(;
未割り当てとして識別された領域には引き続きデータを含めることができます-現在、ほとんどのパーティション削除ツール(gparted
含まれていると思います)は、パーティションを削除するときにパーティションが占有する領域全体を消去しません。通常、パーティションテーブル内の対応するエントリのみが削除され、新しいファイルシステムが作成されるまで領域に残っているデータはそこに残ります。
Testdiskは、ディスク上の失われたパーティションを見つけるために、特別な署名(パーティションを一意に識別するバイトシーケンス)をディスク全体(パーティションテーブルを読み取るのではなく)をスキャンすることでこの事実に依存しています。