当前位置: 首页 > news >正文

数据恢复技术-手动修复MBR-/NTFS分区

前言

                           本文只作为本人学习笔记,不做他用,转载请注明原处谢谢!

        本文教大家如何手工修复MBR引导分区,找回丢失的数据,先附加题目镜像(右键我的电脑或win标,选择管理/磁盘管理---操作---附加VHD,test3.vhd)

题目附加完成,打开winhex软件加载磁盘。

加载磁盘完成后界面显示如图(我屏幕分辨率太高)

修复分区1

       首先查看到,这个题目是有四个分区的,但是在资源管理器和磁盘管理器中都没有显示,根据题目类型,先修复其实分区表。

查看整个起始分区表的16进制内容,发现结尾缺少数值55AA,先补上。

     然后开始分析,发现起始分区表中没有数据,开始尝试修复,找到C0/2字段,开始填入数据,模板为:

分区格式+分区位置+分区大小

       首先,判断分区格式,点击分区1,到达分区一的起始区,分区1的位置一般是2048,所以直接在数据解释器中填入2048即可。

也可以使用快捷键ctrl+G跳转。在分区1的起始头中开始找我们需要的数据。

首先是找到了数据中显示有NTFS字样,判断其为NTFS格式分区,NTFS格式分区的代码为07 ,顺便附上分区格式代码表(Windows)

附1,分区格式代码表

NTFS07

EXFAT

07

FAT32 

0C

拓展分区

05 或 0F

        接下来是分区大小的数值查找,NTFS的扇区总数(扇区大小)数值在20/8-20/F字段中,将光标从20/F拉到20/8,光标停在20/8数值上。20/8==x坐标20,y坐标8

附2分区大小数值位置表

NTFS20/8-20/F分区大小回填需+1
EXFAT40/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回填)

回填

分区格式

分区位置

分区大小

保存刷新查看

至此四个分区全部修复完成。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Linux静态库和动态链接库的制作和使用
  • How to stream video in a loop via RTP using ffmpeg?
  • 打造redis缓存组件
  • CAN总线/CAN应用层协议设计,理解并实践仲裁段位域定义
  • vue vite创建项目步骤
  • 推荐系统实战(四)精排-交叉结构
  • 【第55课】XSS防御HttpOnlyCSP靶场工具等
  • 如何使用ssm实现游戏攻略网站的设计与实现+vue
  • 测试员阿聪的破局之路:从迷茫到帝都站稳脚跟,大佬亲授良方
  • 想学网络,为什么要先学数通?
  • 【图机器学习系列】(二)从传统机器学习角度理解图(一)
  • 正交试验法(或PICT)来设计测试用例
  • 如何使用ssm实现在线云音乐系统的设计与实现
  • 探索提示工程 Prompt Engineering的奥妙
  • 通过 OpenAI Embedding 接口计算相似度
  • [译]Python中的类属性与实例属性的区别
  • AHK 中 = 和 == 等比较运算符的用法
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • Java 网络编程(2):UDP 的使用
  • java正则表式的使用
  • js 实现textarea输入字数提示
  • JS字符串转数字方法总结
  • js作用域和this的理解
  • web标准化(下)
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 从0到1:PostCSS 插件开发最佳实践
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 前端工程化(Gulp、Webpack)-webpack
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 树莓派 - 使用须知
  • 一份游戏开发学习路线
  • ​configparser --- 配置文件解析器​
  • #Linux(帮助手册)
  • (~_~)
  • (C++17) optional的使用
  • (C语言)共用体union的用法举例
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (算法设计与分析)第一章算法概述-习题
  • (五)Python 垃圾回收机制
  • (学习总结16)C++模版2
  • (一) springboot详细介绍
  • (一)appium-desktop定位元素原理
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • *算法训练(leetcode)第三十九天 | 115. 不同的子序列、583. 两个字符串的删除操作、72. 编辑距离
  • /var/lib/dpkg/lock 锁定问题
  • @Transactional 详解
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [30期] 我的学习方法
  • [acwing周赛复盘] 第 94 场周赛20230311
  • [Big Data - Kafka] kafka学习笔记:知识点整理
  • [C++基础]-初识模板