|
本帖最后由 ddzyhhh 于 2024-2-2 19:40 编辑
NTFS使用$MFT来保存文件信息,一般来说一个文件对应$MFT里的一条记录。每条记录长度是1KB:
记录内容大概是:| 记录头 | 10H属性 | 30H属性 | …… | 填充数据到1KB |
不同的属性用于保存不同的文件信息,比如文件名,修改时间,ACL等等。当文件足够小的时候,NTFS会把文件内容保存在80H属性中,而不是单独申请一个簇来保存。
下图是一个1.txt文件的例子:记录头是FILE0,这是一个标记。文件名使用unicode(UTF-16)保存(蓝框),是1.txt,文件内容是123,粉色区域开头的字节是80 00 00 00,表示80H属性
从截图上看,因为一条记录是1024字节(400H),而这个记录只有150H这么多,所以NTFS会把文件直接放在MFT里,不额外占用空间。当MFT里放不下的时候,NTFS才会额外申请簇。
https://www.zhihu.com/question/392687083/answer/3308997642
|
评分
-
查看全部评分
|