Windows系统下磁盘结构的恢复方法

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: Windows系统下磁盘结构层面的数据恢复是一类很有趣的问题,处理这类问题的效果是非常明显,往往会给用户比较神奇的感觉。这次我们就结合实例来谈谈这类问题的处理方法与技巧。首先我们来了解一下磁盘分区的大致结构:   上图是磁盘大致的分区结构。

Windows系统下磁盘结构层面的数据恢复是一类很有趣的问题,处理这类问题的效果是非常明显,往往会给用户比较神奇的感觉。这次我们就结合实例来谈谈这类问题的处理方法与技巧。首先我们来了解一下磁盘分区的大致结构:

 

上图是磁盘大致的分区结构。在一块磁盘的扇区0 - 即第一个扇区会包含主引导记录(MBR - Master Boot Record),实际就是嵌入磁盘的一段代码,主要负责在启动过程引导系统找到正确的分区继续启动流程,紧接着主引导记录就是分区表,其中包含了每个分区的起始位置和长度信息,以及其他类似文件系统类型的信息。分区表指明了每个分区在磁盘上的位置,因此系统在我们挂载磁盘之后可以通过分区表来找到每一个分区,并且通过文件系统的类型在加载每一个分区。

当然实际的分区表结构可能会更加复杂一些,比如会有扩展分区的类型,以此来支持多于四个分区的情况。另外Windows系统还支持动态磁盘的类型,有别于以上讨论的基本磁盘,动态磁盘将分区表的信息存放在磁盘尾部大约1MB的空间之上,这些我们会在以后慢慢讨论,本文将主要针对基本磁盘和少于四个分区的情况。

然后是需要给大家介绍一下分区恢复的工具dskprobe,该工具包含在Windows Support Tools当中,大家可以从微软官网上下载并解压:https://www.microsoft.com/en-us/download/details.aspx?id=18546。 该工具可以帮我们显示并修改磁盘扇区中的原始数据。当然也可以有一些简单的解析功能方便我们识别分区结构的信息。

接下去就是磁盘结构恢复的具体方法了,掌握这类问题处理方法的最好方式就是实战,因此我们来举一个实例案例,给大家一个直观印象。首先问题现象自然是:用户发现磁盘分区丢失,数据无法访问。我们的任务就是尝试将分区恢复回来。

我们首先来查看磁盘扇区0的信息,因为其中包含了分区表信息,是磁盘结构的关键信息。方法是打开dskprobe,选择Drives->Physical Drive,会列出所有的磁盘,双击出现问题的磁盘,选择Set Active单击OK即可打开对应的磁盘,注意此时我们可以保留Read Only的选项,因为在这个阶段我们需要首先查看磁盘的损坏情况,确定修复方案之后我们才会真正需要修改磁盘信息。

打开磁盘之后我们选择Sectors->Read,输出需要读取的扇区号和需要读取的长度即可,这里由于我们需要查看扇区0的信息,自然输入0和1(长度)即可。此时显示的是原数据,可以选择View->Partition Table,可以将分区表的信息解析出来:

我们可以观察一下这些信息,除了一些通用信息外,关键信息有如下几条:

  1. Relative Sector - 分区开始的位置
  2. Total Sector - 分区的长度,以扇区为单位
  3. System ID - 分区的文件系统类型

此时如果我们点击Relative Sector旁边的Go,dskprobe会帮助我们直接跳转到对应的扇区,这个扇区就是分区的第一个扇区,我们称之为分区的引导扇区(Boot Sector),其中会包含关于本分区的文件系统层面的类型,当然不同的文件系统引导扇区的结构也是不同的,所幸的是Windows系统上90%是NTFS,我们可以选择View->NTFS BootSector来解析NTFS的引导扇区,我们可以发现主要数据如下:

  1. Total Sectors - 分区长度,以扇区为单位
  2. Clusters to MFT - 文件系统元数据的存在位置
  3. Clusters to MFT mirr - 文件系统元数据镜像的存在位置
  4. Bytes per sector - 每个扇区的大小,以字节为单位
  5. Sectors per cluster - 每个簇的大小,以扇区为单位

我们发现这些关键性信息在这块磁盘上基本为0,因此可以判断该问题是由于引导扇区损坏导致的。那么怎样恢复引导扇区呢?理论上所有这些信息都是可以重构的,但是我们有一个相对简单的方法:在分区的底部一般会存有一个引导扇区的备份,因此我们可以利用这个备份来做恢复。方法如下:

注意:在做如下操作之前,强烈建议首先做一个磁盘快照,确保数据可以复原。

1. 首先我们搜索分区底部,寻找NTFS引导扇区:选择菜单Tools->Search Sectors,在offset里面填入3,在Enter characters to search for中填入NTFS进行搜索,这个动作的含义是在所有的扇区中判断是否在偏移量为3的位置有一个NTFS的字符串,如果是很有可能这个扇区就是引导扇区。当然大家也可以调整搜索的起始位置来提高搜索的效率。

2. 找到对应的扇区后就可以再次解析原始数据,再这个例子中我们可以看到备份的引导扇区在扇区是81922047,通过选择View->NTFS BootSector可以看所有的信息都在:

3. 此时我们需要选择File->Save As将其存成文件。

4. 选择Drives->Physical Drive,取消Read Only的勾选,点击Set Active,此时我们已经可以对磁盘进行写操作了。

5. 关键步骤: 我们选择File->Open打开刚才存取的文件,选择Sectors->Write,在Starting sector to write data输入2048 (就是损坏的引导扇区的位置),选择write it写入。注意在操作之前还是建议通过File->Save在备份一下被覆盖的扇区,以防万一。

此时我们回到磁盘管理器,可以发现分区已经恢复,如果分区其他部分没有损坏的话,我们就可以看到分区里的数据了。


这里我们需要注意:分区恢复的操作设计到数据,所以快照备份是必要的。另外操作时务必小心。

目录
相关文章
|
2月前
|
XML C# 数据格式
掌握了在Windows平台上查看DLL依赖的方法
掌握了在Windows平台上查看DLL依赖的方法
206 4
|
24天前
|
存储 负载均衡 Java
如何配置Windows主机MPIO多路径访问存储系统
Windows主机多路径(MPIO)是一种技术,用于在客户端计算机上配置多个路径到存储设备,以提高数据访问的可靠性和性能。本文以Windows2012 R2版本为例介绍如何在客户端主机和存储系统配置多路径访问。
69 13
如何配置Windows主机MPIO多路径访问存储系统
|
2月前
|
Web App开发 Windows
Windows 记录一次磁盘相关的PC卡顿问题
【10月更文挑战第26天】本文记录了一次Windows系统中因磁盘问题导致的PC卡顿现象及其解决过程。通过查看任务管理器发现磁盘使用率高,经磁盘碎片整理、优化启动项与后台程序、更新磁盘驱动等步骤,最终解决了卡顿问题。建议定期进行磁盘维护,合理管理启动项,及时更新驱动以预防类似问题。
|
2月前
|
存储 Windows
Windows 记录一次磁盘相关的PC卡顿问题
【10月更文挑战第25天】本文记录了一次 Windows 10 电脑卡顿问题的排查与解决过程。通过资源监视器、事件查看器、SMART 信息检查、磁盘扫描、后台程序排查、驱动更新等步骤,最终通过磁盘碎片整理和调整虚拟内存设置解决了卡顿问题。文章还提供了定期磁盘维护、合理设置虚拟内存及关注硬件健康的预防措施。
|
2月前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
|
2月前
|
Windows
.NET 隐藏/自定义windows系统光标
【10月更文挑战第20天】在.NET中,可以使用`Cursor`类来控制光标。要隐藏光标,可将光标设置为`Cursors.None`。此外,还可以通过从文件或资源加载自定义光标来更改光标的样式。例如,在表单加载时设置`this.Cursor = Cursors.None`隐藏光标,或使用`Cursor.FromFile`方法加载自定义光标文件,也可以将光标文件添加到项目资源中并通过资源管理器加载。这些方法适用于整个表单或特定控件。
|
2月前
|
Apache 数据中心 Windows
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
|
2月前
|
域名解析 缓存 网络协议
Windows系统云服务器自定义域名解析导致网站无法访问怎么解决?
Windows系统云服务器自定义域名解析导致网站无法访问怎么解决?
|
2月前
|
Windows
安装Windows XP系统
安装Windows XP系统
|
8天前
|
网络安全 Windows
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。
下一篇
无影云桌面