WinHex恢复分区
情景再现:可能在某一天,打开电脑时发现只剩C盘,剩下的盘找不到了,那么要如何恢复呢?
创建虚拟硬盘方便我们做实验
右键计算机 -> 管理 -> 磁盘管理右键 -> 创建VHD虚拟硬盘

创建VHD虚拟硬盘会弹出下面的窗口
首先点击预览选择创建虚拟硬盘位置,然后创建虚拟硬盘的大小,这里我是15G,选择虚拟硬盘格式为VHD,最后虚拟硬盘的类型为动态扩展
固定大小:创建时间可能会比较慢,因为真的会占用磁盘的15个G的大小
动态扩展:创建时很快,并不会占用15个G的大小,随着我们用了多少占用多少,最大只能占用15个G

输入正确后确定创建虚拟硬盘

并没有初始化虚拟硬盘,右键 -> 初始化磁盘,弹出初始化磁盘窗口,选择MBR(主启动记录)

创建分区
右键未分配区域 -> 新建简单卷 -> 下一步

到这里是会让我们输入创建分区所占用的大小,这里我创建的是一个3000MB大小的磁盘

后面下一步,为选择我们的分区的驱动号,就是C盘,D盘什么的,这里创建的分区为H盘

下一步,格式化分区,选择文件系统为NTFS

最后完成即可

完成后会出现我们新建的H分区

这个H分区是可以正常使用打开的,我们可以打开我的电脑查看是否出现了一个新的分区

确实出现了一个新的H盘。
简单认识WinHex
我们先打开WinHex
找到这里的打开磁盘

选择我们创建的虚拟硬盘

打开我们虚拟硬盘为下图,可能不同版本显示的不一样,这里仅供参考

找到0扇区的最后,发现结尾是以55AA结束
0扇区是MBR引导扇区,记录着各个分区的位置;准确来说,记录着主分区和扩展分区的位置

那么主分区是什么?我们刚刚创建的分区就是主分区
蓝色的位主分区,黑色的未分配

恢复一个分区
在删除前,我们先到winhex观察0扇区MBR,倒数四行的数据

现在我们手动把我们创建的H盘删除


返回Winhex再次打开虚拟磁盘观察0扇区数据


我们在删除H盘的时候,Winhex倒数四行总第一行的数据也没有了,那么就是这一行就的数据就控制着我们的H盘
简单原理:计算机并不知道到该怎么找到我们的分区,通过MBR的固定格式来读取,把分区一个一个读取出来
这里我们MBR没有数据了,当然找不到我们的分区了
那么我们删除了,其实并没有删除,只是吧MBR的引导删除了,可以在找回来
MBR重要字节
刚刚我们说道计算机通过固定格式来读取硬盘,那么固定格式到底是什么呢?
在MBR中,由于55AA占用了两个字节,除了55AA往上数4行,这4行控制着我们所有分区的位置

那么这4行这么控制的呢
1C3-1C5控制分区一磁盘的类型
磁盘类型就是我们创建的NTFS
NTFS的16进制数据应该是07 00 00 00

1C6-1C9控制分区一的开始位置
1CA-1CD控制分区一的大小
那么我们并不知道到分区一的开始位置时哪里,还有分区一的大小为多少
通过刚刚我们的MBR扇区得知,引导扇区的结束是55AA
那么往下搜索磁盘结束为55AA的就能找到我们磁盘一的引导扇区
找到16进制查找器

搜索55AA,向下搜索,条件偏移为512=510扇区最后两个字节,忘记说明,我们一个扇区是512个字节
注意:在搜索的时候我们要在1扇区往下搜索,因为0扇区的最后为55AA,会搜索到0扇区的55AA

查找后跳转到了2048扇区,可能我们不太确定可以看到上方的目录结果,2048确实就是我们第一个分区的引导扇区

NTFS引导扇区重要字节
打开数据解释器

1C-1F NTFS引导扇区的开始
1C-1F为4个字节,一个字节8bit,所以4个字节就是32bit,我们查看32bit值为2048,这就是NTFS引导扇区,也可以说第一个分区的开始位置

使用一个记事本把它记录下来

28-2B NTFS扇区的大小
28-2B为4个字节,所以看32bit,值为6,143,999,使用记事本记录下来


现在我们得到了分区一的开始和大小,现在只需要在MBR 0扇区的重要字节填上就我们的H盘就恢复了
回到0扇区填数
ctrl + g,打开跳转扇区,输入0跳转到0扇区

在1C2-1C5,点击1C2,在16进制输入07即可,07代表我们是NTFS盘
在1C6-1C9,点击1C6,在数据解释器32bit填入我们找到的分区一的开始2048,回车即可

在1CA-1CD,点击1CA,子数据解释器32bit填入我们找到的分区一的大小6,143,999,回车即可

输入后ctrl + s,保存

在磁盘管理里右键 -> 重新扫描磁盘我们的分区就恢复了出来


WinHex恢复分区的更多相关文章
- 如何清除Windows10中的恢复分区
在Windows搜索框中键入Cmd.出现结果列表. 右键单击命令提示符并选择以管理员身份运行. 在命令提示符下键入diskpart,然后按Enter键. 输入list disk并按Enter键. 出现 ...
- Windows恢复分区管控命令reagentc
reagentc命令可以实现Windows恢复分区的开关,创建.删除,状态查看. 可以只管确定当前系统恢复分区所在位置,便于删除多余的恢复分区.
- 回收Windows 10恢复分区之后的磁盘空间
我电脑上安装了Windows 10和Linux双系统,现在将Linux删除之后,准备将其磁盘空间并入到Windows 10的C盘中,但是发现C盘跟Linux空间之间还隔了一个Windows的恢复分区, ...
- 如何让阿三 Windows 10、11 的恢复分区(Recovery Partition)恢复到 “盖茨” 模式
如何将 Windows Server 2022 的恢复分区(Recovery Partition)移动到 C 盘之前,恢复 C 盘容量调整功能. 请访问原文链接:https://sysin.org/b ...
- windows10磁盘分区后,如何恢复分区,回到未分区之前
windows10磁盘分区后,恢复到分区以前的状态 1.我的电脑右键======>管理 2.找到磁盘管理 3.因为我的H盘原来是和F盘是同一个分区,只是拆分出来了,所有,找到H盘(确保数据都做过 ...
- 再生龙恢复分区后修复引导或debian linux修复引导 三部曲
先参考 sudo -imkdir /mntmount /dev/sda1 /mntgrub-install --force --no-floppy --root-directory=/mnt /dev ...
- 用Partimage创建或恢复分区备份
1 Preliminary Note Partimage is part of the system rescue CD found on http://www.sysresccd.org which ...
- 分区恢复和NTFS文件恢复试验
一.实验室名称:主楼实验室A2-412 二.实验项目名称:分区恢复和NTFS文件恢复试验 三.实验学时:6学时 四.实验原理: 借助fdisk.diskgen软件对磁 ...
- Nubia Z5S(高通公司MSM8974) QHSUSB_BULK砖的方法节省模式(随着win7在恢复recovery分区案例)
Nubia Z5S在某些异常情况或按组合键进入QHSUSB_BULK状态, 这种模式的现象, 猜想windows(实例win7)即使在数据线, 它会出现在计算机n载,甚至会提示要格式化某些分区(这里要 ...
- 原创 齐天大圣老司机亲传rescue恢复磁盘分区
老葵花哥哥课堂开课了本文档秉承爱看不看的原则 一不要钱 二服务大众的高尚情操咱们今天讲一讲rescue恢复磁盘分区 首先咱们搭建环境搞起来 (parted) mkpart #创建分区 Partitio ...
随机推荐
- BurpSuite暴力破解和防御实战
burpsuite暴力破解 工具准备 burp suite 用于攻击web 应用程序的集成平台 jsEncrypter 一个用于前端加密Fuzz的Burp Suite插件,支持base64.sha.m ...
- Windows 操作
一.基础命令 1. 盘符切换:D:: 2. 查看当前目录文件:dir: 3. 当前盘符内目录切换:cd path: 二.其他命令 1. netstat:查看网络端口状态 A. 查看某一端口信息:net ...
- Little Tiger vs. Deep Monkey(hdu4815)01背包
题:http://acm.hdu.edu.cn/showproblem.php?pid=4815 题意:已知n个题以及每个题答对的得分,给出p概率 小老虎vs小猴子答题:已知小猴子随机答题,请问老虎至 ...
- Linux 使用Samba或NFS实现文件共享
SAMBA文件共享服务 Samba是一款开源的文件共享软件,经过简单配置就能够实现Linux系统与Windows系统之间的文件共享工作. 例1:配置Samba服务前,先删掉Samba服务主配置文件中的 ...
- 安装ELK(Elasticsearch、Kibana、Logstash)
1.首先准备两台centos7虚拟机(关闭防火墙)(到步骤3为止都是两台虚拟机都要准备的) 2.传入安装包 3.解压ELK.进入解压后ELK文件.解压jdk文件 4.在ip为41的虚拟机上安装Elas ...
- JS实现异步的方法:回调函数callback、事件监听、setTimeout、Promise、生成器Generators/yield、async/awt
所有异步任务都是在同步任务执行结束之后,从任务队列中依次取出执行. 回调函数是异步操作最基本的方法,比如AJAX回调,回调函数的优点是简单.容易理解和实现,缺点是不利于代码的阅读和维护,各个部分之间高 ...
- JS缓存三种方法_sessionStorage_localStorage_Cookie
1.sessionStorage:临时的会话存储 只要当前的会话窗口未关闭,存储的信息就不会丢失,即便刷新了页面,或者在编辑器中更改了代码,存储的会话信息也不会丢失. 2.localStorage:永 ...
- nkIO方法
import java.util.*; public class Main{ public static void main(String args[]){ Scanner sc = new Scan ...
- react实现某个元素节点截图(html2canvas)
1.安装所需插件:html2canvas: 2.引入插件: import html2canvas from 'html2canvas'; 3.使用: const creatImg = () => ...
- 1=C到底是哪个C