手工修复MBR
2019-09-10石健
【摘要】随着电脑网络的更新换代,知识也在不断的更新,但同时也出现一系列的相关问题:系统漏洞、U盘中数据文件丢失、病毒、数码相机里的照片丢失等等,一系列的问题接踵而至。这就需要找到一条保护数据不丢失,且可以失而复得的办法。如果因为自己的一时疏忽,导致硬盘里的东西丢失,可以利用一款免费的软件——winHex找回数据。它是以通用16进制编辑器为核心专门用来处理计算机取证、数据恢复、低级数据处理以及网络安全和数据安全的一款实用工具。它主要用于检索和恢复各种文件、恢复删除文件还有硬盘损坏、数码相机sd卡损坏造成的数据丢失等。还可以看到系统隐藏起来的文件和数据信息。
【关键词】MBR;EBR;扇区;55AA;4k对齐
主引导记录(MBR)和扩展引导记录(EBR),系統通过记录在分区表中的分区信息对各个分区进行识别和管理,如果这些分区信息损坏,就会出现分区不可见,数据丢失等现象。由于用户不同,使用需求也不同,分区的管理方式还是不同,所以出现了不同的分区条及体系,例如DOS分区、GPT分区、BSD分区等。目前使用最多的是DOS分区形式。适用于容量在2T以下的硬盘。随着硬盘的不管增大,大容量的硬盘应当采用GPT分区体系。DOS分区体系的存储器称为主引导记录MBR存储器。MBR占用整个硬盘的0号扇区,使用了512字节,由引导信息、分区表、结束标识三部分组成。由此可见,若MBR损坏,则后面的操作都无法继续,所以MBR保护和恢复极为重要,它比较脆弱,几乎没有自我备份恢复这样的保护。
1. 引导信息
引导信息是存储器上最先读取到内存的代码,共占446字节,引导代码包含指令,计算机指令访问分区表并定位操作系统的位置。病毒可以嵌入到该区域,从而优先运行。计算机完成自检后把控制权交给引导代码,读取该分区的第一扇区并进入系统,分区第一扇区的引导代码根据操作系统的不同而不同。利用引导代码可以实现多系统引导,启动引导代码后,进入用户操作系统选择界面。
2. 分区表
引导信息后面的是64字节的分区表,包含4个分区表项,每个分区表项占16字节。分区表用来描述分区,最多可描述4个分区,即主分区和扩展分区总数不能超过4个。目前最常见的分区模式:1个主分区和1个扩展分区。在这里,分区表没有顺序严格要求,第一个分区表项不必描述第一个分区,也不要求必须先使用第一个分区表项,再使用第二个分区表项,最后依次使用后面的两个分区表项。
3. 结束标识符
MBR有效标志是‘55AA’,占2个字节。若没有正确的标志,则操作系统认为存储器没有初始化,会无法加载分区,也就无法进入系统了。下面该实际动手操作了,首先,利用winHex打开咱们设置好的虚拟硬盘,进入该界面搜索扇区偏移510字节处的‘55AA’,来寻找DBR或EBR,在63号扇区或2048号扇区(4k对齐情况下)找到第一个DBR,它通常是第一个主分区的起始位置,DBR有备份,文件系统的不同,备份位置也不同, FAT文件系统的在原DBR后面的第六个扇区,NTFS的在整个分区的最后一个扇区;再继续搜索可能找到后面的EBR扇区,这时主分区结束,扩展分区开始,依次搜索会找到逻辑分区的DBR和备份的DBR,再找到EBR,这样进行下去;对于主分区来说,只需要找到主分区的DBR和扩展分区的EBR,分析它们的参数即可重建分区表。
准备工作:将测试用的硬盘或虚拟硬盘分区格式化后,在分区内拷贝一些数据和文件,用winHex打开硬盘或虚拟硬盘的MBR,将MBR的数据全部清除,制造主分区表损坏的环境。温馨提示:清除之前,强烈建议将对0号扇区的数据进行备份,即将扇区选块内容保存成文件或复制到硬盘后面的闲置扇区,尤其对初学者来说这绝对是一个好习惯。步骤1:用winHex打开故障硬盘,了解硬盘总扇区数,这信息可以从窗口左下角处得到。由于打开后显示的界面就是编号为0的硬盘第一个0号的起始扇区,相信大家已经看到全部是00,说明该硬盘MBR已经遭到了很严重的破坏,必须要进行修复,不然硬盘里的数据将永久丢失。先找到一个好硬盘,打开后把MBR数据信息复制到坏硬盘里.
具体操作步骤如下:①1起始0处右键单击‘选块起始位置’,在下面扇区末尾A处右键单击‘选取尾块’,右键选‘编辑’选‘复制选块’里的‘正常’拷贝到坏硬盘0号扇区起始扇区开头,右键单击‘编辑’选‘剪贴板数据’选‘写入’根据提示把引导记录信息复制过来就可以。②找到菜单栏‘搜索’里‘搜索16进制数值’打开对话框,填写搜索条件55AA,加条件512=510.执行保证在扇区的510字节处搜索.说明:搜索‘55AA’是为了找到第一分区的DBR或扩展分区的EBR,以便于找到分区结构信息。③第一个被搜索到的是硬盘0号扇区的‘55AA’,按F3继续,会找到第二个结束标志‘55AA’查看文本显示内容有NTFS或FAT32字样,说明这是第一个主分区,在左下角标出的扇区就是该分区的起始扇区。④启动BOOT sector NTFS模板,主要查看该分区的总扇区数和文件系统类型。⑤为了分析方便,绘制一个硬盘示意图辅助分析分区情况,把搜索到的信息标注在草稿图上根据上面分析得知第一分区是主分区,起始于63号扇区,占用41961717个扇区,分区文件系统类型是NTFS。⑥确定下一个分区起始扇区。下个分区一般和该分区相邻,起始扇区编号是上个分区的起始扇区+占扇区数,即63+41961717=41961780.确定下个分区的类型(是扩展分区还是主分区,即是EBR还是DBR)。EBR与DBR区别在于:EBR前446字节全为‘00’,后面有4个分区表,仅用了1个或2个,其他全是‘00’,扇区最后是结束标志‘55AA’。DBR不可能全是‘00’,字符区上有明显的‘FAT32’或‘NTFS’明文,扇区最后标志为‘55AA’。一般情况下,只有一个主分区,后面都分给了扩展分区,但也不能排除有多个主分区。6-1当下个分区还是主分区时,找到的是DBR扇区,NTFS的DBR前面特征已列出,使用搜索继续查看,右侧字符取明文显示为FAT32,说明文件系统类型为FAT32。启动‘查看’里‘模板管理器’中BOOT sector FAT32.记录下该分区占扇区数,将该分区起始扇区与分区占扇区数相加,得到下一个分区的起始扇区编号,即41961780+25205985=67167765,记录到硬盘结构图中。用winHex菜单导航中的‘转到扇区’启动转到扇区窗口。跳转到下个分区的起始扇区,在查看该扇区数据,分析是EBR还是DBR。若是DBR的话,还要再次确定是NTFS还是FAT32文件系统,再打开相应模板,查看分区占扇区数,以确定下个分区起始位置,若是EBR,按下面的步骤进行。
6-2当下个分区是扩展分区时,该分区是EBR(明显的标志是扇区前面446字节全为‘00’,后面用了1个分区表项)扇区时,说明扩展分区中有逻辑分区,下个分区是扩展分区的EBR扇区。
记录当前所在扇区,即扩展分区起始扇区,用EBR所在的扇区减去MBR所在的扇区就可以求出前面主分区大小,并将它与前面模板中得到的主分区大小进行对比。根据图中显示,分析EBR分区表,仅用了一个,说明这是最后一个逻辑分区前的EBR,其中0B代表FAT32文件系统类型(07代表NTFS),3F代表该分区起始扇区在63号扇区(相对于扩展分区而言)后面的2A OF7F08代表是该扇区占的扇区数,也就是该分区的大小。分析分区表项得知,逻辑分区起始于63号扇区,占用142544682个扇区,文件系統类型是FAT32。假设上面的EBR扇区的分区表还使用了2个,那就需要进一步分析EBR了,重复上面的EBR分析步骤,直到所有逻辑分区分析完毕,最后完成硬盘结构图的绘制。⑦重新建立分区表。回到硬盘的0号扇区,通过前面的分析,知道了硬盘划分了2个主分区和一个扩展分区。第一分区起始于63号扇区,占41961717个扇区,文件系统类型是NTFS,将这三组值转换16进制写入第一分区表项,并将活动标志设置为‘80’,若是移动存储器则不必设置为活动扇区;第二分区起始于41961780号扇区,占25205985个扇区,文件系统类型为FAT32,将这三组数值转换16进制写入第二分区表项,活动标志设置为‘00’;第三分区起始于67167765占用142544745个扇区,文件系统类型为FAT32。将这三组数值转换16进制写入第三分区表项,活动标志设置为‘00’,完成后保存到硬盘,系统重新加载硬盘即可正常识别分区。如图1
4. 总结
掌握MBR分区体系,主引导记录的结构与恢复,FAT32文件系统的结构,NTFS文件系统的结构,期间涉及到的知识点有点多,有些晦涩难懂,一定要勤加练习。熟练掌握winHex恢复软件,能够真正的让大家学到有用的知识。最后能够靠自己独立动手恢复硬盘数据,为保障网络数据安全和信息安全做出一点贡献。
参考文献:
[1]罗维.网络操作系统与网络服务器的使用与管理案例教程[M].北京:高等教育出版社
[2]邓蓓.微机原理及其应用[M].北京:机械工业出版社
作者简介:石健(1980.5-),男,辽宁省葫芦岛市,汉族,学历:本科,职称:高讲,主要从事网络通信技术研究。