对-MFT偏移-的修正----亲历一次数据修复.docx

上传人:11****ws 文档编号:2263107 上传时间:2019-05-03 格式:DOCX 页数:16 大小:2.28MB
下载 相关 举报
对-MFT偏移-的修正----亲历一次数据修复.docx_第1页
第1页 / 共16页
对-MFT偏移-的修正----亲历一次数据修复.docx_第2页
第2页 / 共16页
对-MFT偏移-的修正----亲历一次数据修复.docx_第3页
第3页 / 共16页
对-MFT偏移-的修正----亲历一次数据修复.docx_第4页
第4页 / 共16页
对-MFT偏移-的修正----亲历一次数据修复.docx_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、对 MFT 偏移 的修正 -亲历一次数据修复 前阵子,我在一次正常开机后,打开 QQ 空间,突然系统死机。点击鼠标无反应,按键 ctrl+alt+del 想杀进程确无反应,于是只好按主机 reset 键强制重启,结果 RP 爆发,百年一遇重启后,无法进 XP 系统,用 PE 光盘进,发现 C 盘和 E 盘都提示“文件或目录损坏且无法读取”,于是用 ptdd 重建 mbr,仍进不了系统。重启又进入PE,发现此 250G 的 5 个分区的硬盘中,E 盘反而可以正常读取了,其他分区出现上面那个提示。用 PTDD 重建分区表,没解决。 后来在网上搜过“文件或目录损坏且无法读取”的解决方法,最多提到的是

2、 chkdsk /f, 但是在 PE 里,提示无法识别 ntfs。于是只好把硬盘挂载到室友的电脑里,用 chkdsk /f 修复,修复后我在 Xp 双击这些分区,原来的 C 盘,F 盘 G 盘依旧无法进入,还是那个错误提示。而 D 盘可以了。后来挂载到我电脑另一个硬盘的 linux 里,竟然能进 F 和 G 盘,里面有 FOUND.000 这类文件夹,在里面找到了不少修复回来的文件,随机在不同目录点了几个都能用。于是接下来要解决的问题有:1.同样全部是 ntfs 系统,为什么 XP 无法读取 F 和 G 分区,而 linux 可以?(虽然不可以在 windows 里读取,但至少在 linux

3、下可以把数据导出备份,成功了一点点)2.如果从数据修复的角度看,现在只剩下 C 分区了。头疼 PTDD,DISKGEN,还有用过一些磁盘错误扫描,都检查不出什么错误。(这里明显我是病急乱投医)本着不修复好不罢休的精神吧,虽然 C 分区的数据真的没有了也不至于损失多惨重,可恰好我可以在另一个硬盘 linux 里的虚拟机里的 XP 上网,所以也不需要急用电脑而不得不重装系统。(双系统的好处之一 o(_)o )之后是上网找专业论坛,搜索期刊。顺便做下广告,我觉得中国硬盘基地技术论坛不错。我也是第一次从这里知道可以用 winhex 修复数据。并且也通过搜索得知我的故障可能是 MFT 有错。在里面看过一

4、句话,“你要是不会手动 16 进制写mft,不知道他的规则,计算方式。就别费劲了,你从现在学,学 3 个月有可能能学会”。天啊,估计我没这耐性,更主要是我还有不少事情做不过我试着去了解吧,趁机能懂点东西也不错。于是,从一开始不懂 mft,然后慢慢的去了解 ntfs 的文件系统其实一共也不需花多少时间,中间快 20 天都忙着考试和找工。这里还有个小插曲,因为看过这方面的书,那时候印象较深,还去笔试面试了一个数据修复公司,吹吹自己会用 winhex 和其他修复软件,通过了。说 1 月中旬给个回复去不去,去的话开始实习了,不过待遇感觉太低所以不想了的。毕竟生活压力吧,还有综合考虑兴趣与待遇,还有发展

5、。说点硬盘 ntfs 文件系统的,或许很多人也听过了。之前我没怎么了解,后来借此机会也趁机学学了。硬盘由引导扇区(Boot Sector)与各分区组成。不超过四个主分区,原因是主引导记录(MBR)里的分区表里只有 64 字节,一共只可描述 4 个分区表项,从 winhex 里看,描述一个分区表项用 16 字节。有人可以分七八个分区是因为用到扩展分区,现在我们的普遍分法是一个主分区+一个扩展分区,然后扩展分区又是由相应的 EBR(即扩展 MBR)里的分区表来描述。一个以盘为主分区,为扩展分区的硬盘数据结构如下所示:关于主引导记录 MBR。一般都占用 63 个扇区,即从第 0-62 扇区(这里有个

6、例外,虚拟机里我看过只有 56 个扇区),而实际有写入内容的一般只有一个扇区,及常说的 0 柱面 0 磁道 1 扇区。1 个扇区 512 字节,MBR 其实分三部分,1.引导代码 446 节 2.分区表 64 字节 3.结束标记 55AA,及 2 个字节。如果,两蓝色竖线把第一个扇区划分为三部分,及上述的 MBR 三部分。两蓝竖线间为分区表。每 16 字节为一个分区表项,两个紧挨着的数字为一个字节。第一个分区中:第一个红色框内 80 代表活动分区。绿色框 01 01 00 代表磁头号、扇区号、柱面号。第一个蓝色框 07 代表 NTFS 分区。紧接着三条绿横线,分别是本分区结束磁头号、扇区号、柱

7、面号,然后是本分区之前已用的扇区数(3F000000,必须倒过来,即 0000003F,转为 10 进制 63,即 MBR 要占用 63 扇区,注意 MBR 是不属于磁盘第一个分区!),最后是本分区的总扇区数(E5588101,倒过来,018158E5,即是 25254117 个扇区,25254117*512/1024/1024/1024=12.04G)第二个分区:第二个红色框 00 表示非活动区。绿色框 00 C1 FF 代表磁头号、扇区号、柱面号。第二个蓝色框 0F 代表扩展分区。三条绿线所表达的也与上面相同。(注意这里的第二个分区代表扩展分区,切勿与通常的 D 盘相混淆!)因无其他主分区

8、,所以第三、第四个分区表项为 0。最后以 55AA 结尾,代表 MBR 结束。到这里,给道题目,如何知道 D 盘的 EBR 在哪里?很简单,从第一个分区表项得知,第一个分区有 25254117 个扇区,而在第一个分区前的 MBR 有 63 个扇区,因为整个硬盘扇区数从 0 记起,所以 MBR 扇区数+第一个分区扇区数=63+25254117=25254180,即通过转到 25254180 扇区即可。这里就是 D 盘前面的 EBR 了。对红线进行分析(红线前面 446 个字节,因为是扩展分区,不需要启动代码,用 0 填充):00:非活动分区01 C1 FF 起始磁头号、扇区号、柱面号07:NTF

9、S 分区FE FF FF:本分区结束磁头号、扇区号、柱面号。其实可以发现,实际不需要理会这一项,所有分区表项都用这三个字节来表示本分区结束磁头、扇区和柱面的。3F 00 00 00:如前面分析 MBR,倒过来是 00 00 00 3F ,即 63 个扇区。8D 0D 23 03:倒过来是 03 23 0D 8D,转为 10 进制是 52628877,即本分区有52628877 扇区,25.09G。为计算第二个 EBR 在哪里只需将前面的“MBR 扇区数+第一个分区扇区数”+“EBR 扇区数+第二个分区扇区数”略去对后面几个分区的计算。刚刚是对 MBR,EBR(EBR 实际与 MBR 类似,只是

10、少了启动代码)的分析,现在对具体分区分析(以修复好的 C 盘为例)。通过翻阅资料得知,NTFS 文件系统的结构是如何进入具体分区呢?选择 winhex 里的“工具打开磁盘”,选中相应物理磁盘即可打开。我的硬盘(修复好后)显示如下:双击想要看的分区即可,如 partition 1,进入会看到很多此分区的文件,甚至包括一些即使你在文件夹选项里勾选“显示隐藏文件”都无法看到的文件。比如以$开头的文件。每个 NTFS 分区中都有这种文件,如下: 注意:MFT 里的 11 到 15 号记录是为以后的元数据文件保留的。以上是的截图来自网上,补充下$Boot 、$MFT 、$MFTMirr 的一些资料,因为

11、此次修复与这几个有关。$Boot:NTFS 的卷启动扇区,也叫分区启动扇区,卷启动记录等。虽叫扇区,其实包含了 16 个磁盘扇区(8KB),即你看到的$Boot 文件大小是 8KB。在winhex 里双击相应的分区后,进去看到的该分区的第一个扇区就是$Boot 所占的第一个分区。包含了 BIOS 参数块(BIOS Parameter Bloce,即 BPB)和卷启动代码。BPB 里包含此分区基本信息,如分区格式,大小等。至于卷启动代码,是表示如何装载 WIN NT,2000 等系统的 NTLDR,把控制权交给它,得以继续装载系统其他部分。对于$Boot 里的 BPB 用以下的截图说明下,彩色部

12、分就是 BPB,对于$MFT文件,就是从 BPB 里定位的!这句话很重要。而我自己 C 盘的情况是对比这里的说明:图中第一条蓝色粗线是表示$MFT 第一簇簇号,00 00 0C 00 00 00 00 00 ,倒过来是 00000000000C0000,即 16 进制 C0000 转为 10 进制是 786432,表示 MFT在第 786432 簇(注意这里表示的是相对于本分区的簇数,而不是整个硬盘)。接下来,转去 786432 簇,看看是不是通过 Go To Sector 到 786432,与单击$MFT 去到的扇区都是一样的。说明定位没错。接下来看下$MFT 吧$MFT:(Master F

13、ile Table)文件。主文件列表。此文件是 NTFS 分区中最重要的文件,记录了分区中所有文件(包括$MFT 自身)的基本信息。通过$MFT 就可以访问分区中的所有文件和系统数据。$MFT 由多个 MFT 记录单元组成,每一个文件的描述占用一到多个(一个不够的情况下)$MFT 记录单元。其中前十二个记录单元中记录着这里的十二个系统文件的信息。每个记录单元记录着文件的建立时间、在分区中的位置、长度、属性、文件名等信息。MFT 中的第一个记录就是$MFT 自身,编号为 0。每个文件记录占用 1KB,即两个扇区。识别一项 MFT 的起始很简单,看开头的 4 个字节是否 46 49 4C 45 ,其相应的ASCII 码是 FILE。现在就看 MFT 怎样记录其本身$MFT 吧。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。