FAT32文件系统

FAT32文件系统

文件系统将磁盘空间以一定数目( 2 n 2^n 2n,n为整数)的扇区为单位进行划分,这样的单位称为

  • 每扇区大小为512字节。
  • 簇的大小一般是512B、1KB、2KB、4KB、8KB、16KB、32KB、64KB等。

簇是进行文件空间分配的最小单位。

FAT表

FAT表(File Allocation Table 文件分配表)是Microsoft在FAT文件系统中用于磁盘数据(文件)索引和定位引进
的一种单向链式结构

  • FAT区用每一个FAT项来记录每一个簇的占用情况
    • FAT表中:表项的个数=簇的个数
    • 如果为0,则表示对应簇为空闲,可存储数据。
  • 每个表项有多大?
    • FAT32: 32位,4字节;可表达的最大簇号空间为4G

    • FAT16的最大簇号空间为64K

簇链

一个文件所占用簇的序号形成的单向链表。

实现方法:在文件占用簇的对应簇号的FAT项,填写下一个簇的簇号,如果为最后一簇,则输入结束标识“FFFFFF0F”。

文件的存储

  • 按照文件的大小,定位足够的空闲簇;
  • 创建文件目录项:32bytes;
  • 在FAT中构建簇链表;
  • 在分配的簇中写入数据。

已删除文件的恢复原理

文件删除过程:

  • 在目录项中,将文件首字节修改为E5,首簇高位被清零;
  • FAT簇链表被全部清空;
  • 文件内容不清除。

如何恢复?

  • 恢复文件首字节及首簇高位;(已知文件位置)
  • 当文件使用簇是连续存储时,易于恢复。

猜你喜欢

转载自blog.csdn.net/m0_46161993/article/details/109968609