情景再现:可能在某一天,打开电脑时发现只剩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恢复分区的更多相关文章

  1. 如何清除Windows10中的恢复分区

    在Windows搜索框中键入Cmd.出现结果列表. 右键单击命令提示符并选择以管理员身份运行. 在命令提示符下键入diskpart,然后按Enter键. 输入list disk并按Enter键. 出现 ...

  2. Windows恢复分区管控命令reagentc

    reagentc命令可以实现Windows恢复分区的开关,创建.删除,状态查看. 可以只管确定当前系统恢复分区所在位置,便于删除多余的恢复分区.

  3. 回收Windows 10恢复分区之后的磁盘空间

    我电脑上安装了Windows 10和Linux双系统,现在将Linux删除之后,准备将其磁盘空间并入到Windows 10的C盘中,但是发现C盘跟Linux空间之间还隔了一个Windows的恢复分区, ...

  4. 如何让阿三 Windows 10、11 的恢复分区(Recovery Partition)恢复到 “盖茨” 模式

    如何将 Windows Server 2022 的恢复分区(Recovery Partition)移动到 C 盘之前,恢复 C 盘容量调整功能. 请访问原文链接:https://sysin.org/b ...

  5. windows10磁盘分区后,如何恢复分区,回到未分区之前

    windows10磁盘分区后,恢复到分区以前的状态 1.我的电脑右键======>管理 2.找到磁盘管理 3.因为我的H盘原来是和F盘是同一个分区,只是拆分出来了,所有,找到H盘(确保数据都做过 ...

  6. 再生龙恢复分区后修复引导或debian linux修复引导 三部曲

    先参考 sudo -imkdir /mntmount /dev/sda1 /mntgrub-install --force --no-floppy --root-directory=/mnt /dev ...

  7. 用Partimage创建或恢复分区备份

    1 Preliminary Note Partimage is part of the system rescue CD found on http://www.sysresccd.org which ...

  8. 分区恢复和NTFS文件恢复试验

    一.实验室名称:主楼实验室A2-412                  二.实验项目名称:分区恢复和NTFS文件恢复试验 三.实验学时:6学时 四.实验原理: 借助fdisk.diskgen软件对磁 ...

  9. Nubia Z5S(高通公司MSM8974) QHSUSB_BULK砖的方法节省模式(随着win7在恢复recovery分区案例)

    Nubia Z5S在某些异常情况或按组合键进入QHSUSB_BULK状态, 这种模式的现象, 猜想windows(实例win7)即使在数据线, 它会出现在计算机n载,甚至会提示要格式化某些分区(这里要 ...

  10. 原创 齐天大圣老司机亲传rescue恢复磁盘分区

    老葵花哥哥课堂开课了本文档秉承爱看不看的原则 一不要钱 二服务大众的高尚情操咱们今天讲一讲rescue恢复磁盘分区 首先咱们搭建环境搞起来 (parted) mkpart #创建分区 Partitio ...

随机推荐

  1. mobx hook中的使用

    class import { inject, observer } from "mobx-react"; // 需要使用mobx-react提供的Provider 包裹,需要使用的 ...

  2. Windows相关产品密钥

    Win7/Win8/Win10系统下Visual Studio 2013各个版本的密钥:Visual Studio Ultimate 2013: BWG7X-J98B3-W34RT-33B3R-JVY ...

  3. Python 的入门学习之 Day4~6 ——from”夜曲编程“

    Day 4 time: 2021.8.1. 打卡第四天.今天起得很早(7点多一些),很棒,而梳头发更快些就更好了.我也算渐渐养成了晨间学习的习惯吧,一起床就心心念念着Python课程,这让我感觉到了生 ...

  4. React Native面试知识点

    1.React Native相对于原生的ios和Android有哪些优势? 1.性能媲美原生APP 2.使用JavaScript编码,只要学习这一种语言 3.绝大部分代码安卓和IOS都能共用 4.组件 ...

  5. STM32F103RCT6驱动AD7705(cubeide)

    首先在cubeide上配置spi,使用spi1,由于正点开发板上的nr24l01与ad7705正好相同,因此根据引脚配置PA1为DRDY,PC4为CS片选 根据手册上所写,配置寄存器初始化 uint8 ...

  6. 项目实训 day15-16

    第一天我与灿哲沟通,我弄明白了真正的网络结构且如何运行的,自己记了下网络草图,开始初步用PlotNN绘制 第二天我发现pycore库表达能力不够,于是参考其他用tex写的例子,写了几个方法,最终能生成 ...

  7. md5加密js内容

    避免以后都得百度,直接留一份存档 /* * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message * Diges ...

  8. homework2软件方法论

    什么是软件工程方法论? 1.软件工程是一个方法论,就是我们在开始一个项目时,大体框架一定要有这么一个概念,而具体实施时,必须根据公司一些特点,优化项目开发的流程,这样才是有实效而方法论只是软件工程的结 ...

  9. 从NCBI中下载各物种参考基因组

    1. 打开NCBI 2. 输入物种名,以HPV为例: 搜索,到genomes分栏下面选择Assembly点击进去 3. 进去下面的界面,再点击RefSeq进入下载界面 4. 进入下载界面: HPV参考 ...

  10. 方法(Java)

    什么是方法? 基本介绍 在其他语言中也叫函数 System.out.println();类名.对象.方法: Java方法是语句的集合,它们在一起执行一个功能 方法是解决一类问题的步骤的有序集合 方法包 ...