此前,在单独问题,我试图从丢失的分区中恢复数据。具体来说,该分区是从 Windows 7 NTFS 分区丢失的,现在是未分配的空间。通过 Photorec 和 Testdisk,我仍然可以看到数据,我想我可以恢复它。当空间中有数据时,gparted 如何将该空间标识为未分配?标记为未分配的文件系统是否仍包含数据?
答案1
如何识别未分配空间
通过读取磁盘上的分区表可以识别已分配空间(分区)和未分配空间。对于 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。第二个分区占用偏移量 1536 - 3072。第三个分区占用偏移量 6144 - 12288。
从这里可以观察到,偏移量 3072 - 6144 没有被任何分区占用,因此被标识为未分配空间。
标记为未分配的文件系统还能包含数据吗?
那么,标记为未分配的文件系统不再是文件系统了(;
被标识为未分配的区域仍可能包含数据 - 如今大多数分区删除工具(gparted
我认为也包括)不会在您删除分区时擦除分区所占用的整个区域。通常,只会删除分区表中的相应条目,而保留在该区域中的数据将保留在那里,直到在该区域上创建新的文件系统。
Testdisk 依靠这一事实,通过扫描整个磁盘(而不是仅读取分区表)来查找特殊签名(唯一标识分区的字节序列)来定位磁盘上丢失的分区。