前言
本文只作为本人学习笔记,不做他用,转载请注明原处谢谢!
本文教大家如何手工修复MBR引导分区,找回丢失的数据,先附加题目镜像(右键我的电脑或win标,选择管理/磁盘管理---操作---附加VHD,test3.vhd)
题目附加完成,打开winhex软件加载磁盘。
加载磁盘完成后界面显示如图(我屏幕分辨率太高)
修复分区1
首先查看到,这个题目是有四个分区的,但是在资源管理器和磁盘管理器中都没有显示,根据题目类型,先修复其实分区表。
查看整个起始分区表的16进制内容,发现结尾缺少数值55AA,先补上。
然后开始分析,发现起始分区表中没有数据,开始尝试修复,找到C0/2字段,开始填入数据,模板为:
分区格式+分区位置+分区大小
首先,判断分区格式,点击分区1,到达分区一的起始区,分区1的位置一般是2048,所以直接在数据解释器中填入2048即可。
也可以使用快捷键ctrl+G跳转。在分区1的起始头中开始找我们需要的数据。
首先是找到了数据中显示有NTFS字样,判断其为NTFS格式分区,NTFS格式分区的代码为07 ,顺便附上分区格式代码表(Windows)
附1,分区格式代码表
NTFS | 07 | |
EXFAT | 07 | |
FAT32 | 0C | |
拓展分区 | 05 或 0F |
接下来是分区大小的数值查找,NTFS的扇区总数(扇区大小)数值在20/8-20/F字段中,将光标从20/F拉到20/8,光标停在20/8数值上。20/8==x坐标20,y坐标8
附2分区大小数值位置表
NTFS | 20/8-20/F | 分区大小回填需+1 |
EXFAT | 40/8-40/F | |
扩展分区 | 10/C-10/F |
复制数据解释器中的32Bit后面的数值
62,916,607
回到起始分区,现在我们已经有了分区格式,分区位置,分区大小,开始修复分区1。第一个分区表起始位置是C0/2开始,前面四位不管。
根据填写公式:分区格式+分区位置+分区大小
1,分区格式:
2,分区位置,从右往左选后光标停在C0/6左边数字(因为数据是从后往前读的,所以得反写)
数据解释器32Bit数值后填写分区位置2048
3,分区大小,来到分区1起始头,反选20/F-20/8的数值,光标停在20/8左边数值上,复制数据解释器32Bit后边的数值。
回填起始扇区,光标落在C0/A,在数据解释器32Bit数值中填入回填值62,916,607+1=6291608 后,回车写入或者ctrl+b(NTFS格式要+1回填)
修复完成,保存刷新磁盘试试。(ctrl+s)
成功修复,修复下一个分区方式也是以此类推,不再详细解答。
修复分区2
下一个起始分区位置计算公式
起始分区位置计算公式:分区起始数值+分区大小数值=下一个分区起始数值
分区2位置:
62920704
分区2的格式:
07 00 00 00
分区2的大小:
104,859,647
开始回填:
分区格式数值回填,跟在第一分区数值后面
分区位置数值回填
分区大小数值回填(32Bit数值+1回填)
保存刷新查看是否修复完成。
里面的数据也是没问题的:
以此类推修好分区3,4
修复分区3
分区格式
分区位置
分区大小(NTFS格式要+1回填)
---------------------------------------------------------------------------------------------------------------------------------
回填
分区格式
分区位置
分区大小(NTFS格式要+1回填)
保存刷新查看:
修复分区4
分区格式
分区位置
分区大小(NTFS格式要+1回填)
回填
分区格式
分区位置
分区大小
保存刷新查看
至此四个分区全部修复完成。