写给不知道的人。
数据是怎么存到我们硬盘上的 文件存储方式
下面介绍下常见的文件存储方式: FAT 和 NTFS。
FAT
FAT 把分区卷(Volume)规划为如下几部分
- 主引导区 —— 文件
- 分配表#1 —— 文件
- 分配表#2 —— 根目录
- 剩下磁盘空间 —— 其他所有数据
第4部分,会被按一定大小(可指定)分成若干块。文件会占用自己大小 / 块大小的 块(向上取整)。
如块大小 128KB,文件 a.txt
130KB,将会占用两个块,即占用 256KB 的硬盘空间。
而操作系统如何去找到这两个块呢?
这里,分配表就派上用处了。
分配表记录的是所有块的使用情况。 有5种记录:
- 链中下一个簇的地址
- 一个特殊的簇链结束符(EOC,End Of Clusterchain,或称End Of Chain)符号指示链的结束
- 一个特殊的符号标示坏簇
- 一个特殊的符号标示保留簇
- 0 来表示空闲簇
a.txt
的两个块记录就是:
当删除文件的时候,仅仅将该文件所占用的块标记为空闲(记录值重置为 0 ),并不真正覆盖文件内容。
但是由于大文件会被分散到多个不一定连续的块上,所以记录置 0 后,很难找全所有块,所以会增加恢复难度。
NTFS
相对于 FAT 文件系统。NTFS 采用了主文件表(MFT)。
在NTFS中,所有文件数据——文件名、创建日期、访问权限(使用访问控制列表(ACL)实现),以及内容——都作为元数据储存在主文件表中。
在删除的时候,并不会像 FAT 文件系统一样破坏结构。所以 NTFS 的反删除操作更加容易。
最后
完美恢复的前提,当原本文件占据的块被标记为空闲时,任何数据写入操作都有可能会覆盖原文件占用的块。
所以,一旦误删文件,
尽可能减少硬盘写入操作的产生!!!
尽可能减少硬盘写入操作的产生!!!
尽可能减少硬盘写入操作的产生!!!
重要数据多备份,有钱的买硬盘,没钱就XX云盘。
当然最重要的,不要手贱 =_=||