Winhex 恢复三个分区
通过之前的博客WinHex恢复分区,我们知道
在MBR中,一共有四行是我们分区的引导,所以,我们手动只能创建三个主分区,
通过工具软件,我们最多可以创建四个主分区
那么测试:如何创建四个主分区?
首先,我们创建三个主分区

在创建第四个分区的时候,观察会发现自动变成了一个扩展分区就是绿框框,绿框框里面才是我们创建的分区,被称为逻辑分区

我们使用Winhex打开创建的虚拟磁盘
通过之前讲的07代表NTFS的分区格式,那么0F代表扩展分区的格式

我们手动把0F改为07,ctrl + s保存


回到磁盘管理重新扫描查看


发现我们的扩展分区和逻辑分区变为了主分区,而且会提示我们格式化,当我们格式化后,就拥有了四个主分区

恢复三个主分区
由于三个以后就会自动生成
扩展和逻辑分区,这里我们先学习如何恢复三个主分区
上节我们知道MBR引导扇区通过四行分区表来定位到创建的分区2-5这几列控制分区类型

6-9列控制分区的开始

A-D列控制分区的大小

当我们手动删除分区的时候,其实并没有删除分区的数据其实还存储在扇区中,我们手动删除的只是MBR索引,那么只需要将MBR四行分区表中填入分区的开始和大小即可恢复
首先手动创建三个分区并将三个分区删除,进入WinHex打开我们创建的虚拟磁盘,在之前有介绍


这四行没有任何数据,正式我们想要的
寻找第一个分区
使用16进制搜索,在1扇区往下搜索55AA,条件偏移为512=510


我们的扇区跳转到了2048扇区

这里磁盘开头为EB 52 90,是NTFS的标识,4E 54 46 53,代表ASCII值NTFS
这些都是固定格式,当然还有很多的固定格式
上节我们知道1C-1F为磁盘的开始,28-2B为磁盘的大小
那么我们就得到的分区一的MBR引导

1c为2048

28为6,143,999
我们使用记事本记录下来

寻找第二个分区
我们并不知道哦分区二的开始在哪里
分区一的开始 + 分区一的大小 = 分区一的结束,这个是肯定的,我们加上去看一看

6,146,047扇区,我们跳转到这个扇区去看一看,跳转分区快捷键ctrl + g
跳转到这个分区会发现这个扇区的1C和28和2048扇区_分区一的开始扇区的内容还是一模一样的,这个我们称为dbr1备份,分区一的备份

我们手动滚到下一个扇区,6146048扇区

观察1C的值为6,146,048和当前磁盘一样,我们磁盘字节1C为磁盘的开始,所以我们当前的扇区就是dbr2的开始
观察28的值为7,167,999.

我们将这两个值记录下来

由此我们可以得到一个结论:
1C + 28 + 1 = 下一个分区的开始
1C + 28 = 分区的备份
分区一的开始 + 分区一的大小 + 1 = 分区二的开始
加一是因为刚刚我们手动滚了一个分区
寻找三个分区
根据我们刚刚的方法,那么第三个分区的开始就是分区二的开始 + 分区二的大小 + 1 = 分区三个开始

通过计算得出,分区三的开始为13,314,048,跳转到该扇区

1C值为13,314,048和当前扇区一样,确实就是第三个分区的开始
28值为3,071,999,记录下来

现在我们得到了三个分区的开始和结束,只需要在MBR分区表填写即可恢复我们的分区
回到0扇区 MBR填写分区表

填写后保存,在磁盘管理里查看

成功将我们的分区恢复
Winhex 恢复三个分区的更多相关文章
- MariaDB/MySQL备份和恢复(三):xtrabackup用法和原理详述
本文目录: 1.安装xtrabackup 2.备份锁 3.xtrabackup备份原理说明 3.1 备份过程(backup阶段) 3.2 准备过程(preparing阶段) 3.3 恢复过程(copy ...
- linux下(fdisk,gdisk,parted)三种分区工具比较
1 2种分区结构简介 MBR分区 硬盘主引导记录MBR由4个部分组成 主引导程序(偏移地址0000H--0088H),它负责从活动分区中装载,并运行系统引导程序. 出错信息数据区,偏移地址0089H- ...
- mysql数据库优化(三)--分区
mysql的分区,分表 分区:把一个数据表的文件和索引分散存储在不同的物理文件中. 特点:业务层透明,无需任何修改,即使从新分表,也是在mysql层进行更改(业务层代码不动) 分表:把原来的表根据条件 ...
- 诺顿ghost备份恢复系统或分区
一 诺顿ghost简介 1,可以克隆分区 也可以克隆磁盘 2,克隆成img或磁盘内容对刻 3,磁盘分区--img---磁盘分区 磁盘---磁盘 二 操作步骤 对刻好的系统 整体思路: 1,A是模板 ...
- MapReduce实战(三)分区的实现
需求: 在实战(一)的基础 上,实现自定义分组机制.例如根据手机号的不同,分成不同的省份,然后在不同的reduce上面跑,最后生成的结果分别存在不同的文件中. 对流量原始日志进行流量统计,将不同省份的 ...
- 如何让阿三 Windows 10、11 的恢复分区(Recovery Partition)恢复到 “盖茨” 模式
如何将 Windows Server 2022 的恢复分区(Recovery Partition)移动到 C 盘之前,恢复 C 盘容量调整功能. 请访问原文链接:https://sysin.org/b ...
- Nubia Z5S(高通公司MSM8974) QHSUSB_BULK砖的方法节省模式(随着win7在恢复recovery分区案例)
Nubia Z5S在某些异常情况或按组合键进入QHSUSB_BULK状态, 这种模式的现象, 猜想windows(实例win7)即使在数据线, 它会出现在计算机n载,甚至会提示要格式化某些分区(这里要 ...
- mysql分区功能(三个文件储存一张表)(分区作用)(分区方式)
mysql分区功能(三个文件储存一张表)(分区作用)(分区方式) 一.总结 1.mysql数据表的存储方式(三个文件储存一张表): 一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放 ...
- WINHEX 使用教程
Winhex有完善的分区管理功能和文件管理功能,能自动分析分区链和文件簇链,能对硬盘进行不同方式不同程度的备份,甚至克隆整个硬盘:它能够编 辑任何一种文件类型的二进制内容(用十六进制显示)其磁盘编辑器 ...
- WinHex简介
WinHex是一个专门用来对付各种日常紧急情况的小工具.它可以用来检查和修复各种文件.恢复删除文件.硬盘损坏造成的数据丢失等.同时它还可以让你看到其他程序隐藏起来的文件和数据.得到 ZDNetSoft ...
随机推荐
- element-ui casader组件动态加载的回显问题
最近在做项目的时候用到了element-ui的cascader来做省市区的级联显示 我要做的需求就是在选择某个省的时候,再去加载省下面的所有市,在实现这个需求的过程中遇到了二级菜单不能反显的情况.以下 ...
- Excel Vlookup用法和常见报错#REF! #Value!
VLOOKUP(E2,$A$2:$C$5,2,FALSE) E2 为选中查找的条件 $A$2:$C$5 1为需要查找的区域,这个区域一般是固定的,所以要加上$符号 2这个区域可以在前面加上SHEET2 ...
- Linux非正式学习随笔(1)
11.5进linux学的第一件事,找个中文输入法.Linux是一套免费的类unix操作系统GPL:gnu通用公共许可证.托马斯斯托曼提出gnu计划,自由软件思想的一个协议.Linux诞生1991年10 ...
- 前端通过input 输入框实现动态添加行 , 键盘上下左右点击可同步操作中心位置
1. input 代码 ,我们项目组的input封装了,不过不影响使用 通过 @keyup 事件绑定show方法,需要将当前行的信息以及index传递,方便操作 另外要单独给这些需要操作的输入框添加c ...
- DCS-WORLD 数据获取
任务: 获取DCS-World的姿态数据,发送到6自由度平台. 过程: 1.获取dcs-bios https://github.com/DCSFlightpanels/dcs-bios 2.复制DCS ...
- Windows如何生成公钥和私钥
Windows如何生成公钥和私钥 方法一)使用git命令 一. 首先安装git二. 桌面上右键 Git Bash Here三. 命令ssh-keygen -t rsa然后 一直enter 四. 将公钥 ...
- Docker基本命令之 容器运行命令参数
容器命令行参数介绍: docker run:顾名思义就是运行一个Docker 以下是具体参数介绍: -a: stdin:指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项 - ...
- WKWebView与JS的交互
转载:https://www.jianshu.com/p/253e76a74b38 用普通的UIWebView和JS交互 大概核心代码是这样的 - (void)setupWebView{ self.w ...
- vue搭建项目iview+axios+less
项目地址:https://github.com/CinderellaStory/vue-iview-project vue搭建项目壳子已安装:iview.axios.less 已有界面:登录.左侧菜单 ...
- sqlsever中使用的 select top n在mysql 语句中如何更改
string sqlSelect = "select top(3) ROW_NUMBER() over(order by UserTime) as Num,* from " + & ...