首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NTFS MFT数据

NTFS MFT数据
EN

Stack Overflow用户
提问于 2019-03-12 16:16:19
回答 2查看 826关注 0票数 1

我试图解析MFT记录中运行的数据,并将我的结果与活动磁盘编辑器进行比较。数据运行如下:

……42 0F 01 FD 83 90 D9 0C (第二个属性从这里开始)

如果我理解正确的话:这就是应该分析的方式:

  • 解析群集计数的字节数:2
  • 解析集群位置的字节数:4
  • 解析群集计数: 0F 01 (以小endian表示) => 271
  • 解析第一个集群位置: 0xD99083FD => 3,650,126,845
  • 期望一个00而不是0C标记集群的结束

但是,在活动磁盘编辑器中:

  • 集群位置为: 9,470,973,即0x 9083FD。( D9被忽略)。原来这个位置是正确的。
  • 如果我试图更改表示集群位置的字节数( 4 in 42),则会发生以下情况:
代码语言:javascript
复制
- If I change it to 4 or 5, the cluster location remains the same (9470973)
- If I change it to 3, the cluster location becomes negative
- No value change on D9 0C seems to affect the outcome

有人能告诉我我做错了什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-14 16:54:41

经过一些额外的研究后,我意外地读到了NTFS的修复。对于将来可能遇到同样问题的人,其想法如下:

  • Update序列号(USN)是一个2字节实体,它覆盖每个使用扇区中的最后两个字节。这样做是为了核查目的。
  • 更新序列数组(USA)包含每个扇区末尾的覆盖2字节数组。

在不考虑USN和美国的情况下阅读结构是有问题的。它可能会搞乱文件名、数据运行等。我在:https://www.taksati.org/ntfs-fix-ups/上遇到了这个信息。

长话短说,当我考虑到这个差异时,第一个集群位置变成:

代码语言:javascript
复制
0x009083FD

由于数据运行列表信息变成:42 0F 01 FD 83 90 00 00

票数 1
EN

Stack Overflow用户

发布于 2019-04-01 09:55:00

您的注释中有一个小问题:覆盖最后两个扇区,在每个使用的扇区中,扇区应该是字节。

对于NTFS的新人来说,这是一个普遍的问题。所有记录(索引/FR/RCRC)必须在USN处理后读取。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55126151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档