使用winhex进行硬盘填0操作
- 格式:doc
- 大小:1.10 MB
- 文档页数:8
WinHex数据恢复使用教程WinHex教程WinHex数据恢复分类:硬恢复和软恢复。
所谓硬恢复就是硬盘出现物理性损伤,比如有盘体坏道、电路板芯片烧毁、盘体异响,等故障,由此所导致的普通用户不容易取出里面数据,那么我们将它修好,同时又保留里面的数据或后来恢复里面的数据,这些都叫数据恢复,只不过这些故障有容易的和困难的之分;所谓软恢复,就是硬盘本身没有物理损伤,而是由于人为或者病毒破坏所造成的数据丢失(比如误格式化,误分区),那么这样的数据恢复就叫软恢复。
这里呢,我们主要介绍软恢复,因为硬恢复还需要购买一些工具设备(比如Pc3000,电烙铁,各种芯片、电路板),而且还需要懂一点点电路基础,我们这里所讲到的所有的知识,涉及面广,层次深,既有数据结构原理,为我们手工准确恢复数据提供依据,又有各种数据恢复软件的使用方法及技巧,为我们快速恢复数据提供便利,而且所有软件均为网上下载,不需要我们投资一分钱。
数据恢复的前提:数据不能被二次破坏、覆盖!关于数码与码制:关于二进制、十六进制、八进制它们之间的转换我不想多说,因为他对我们数据恢复来说帮助不大,而且很容易把我们绕晕。
如果你感兴趣想多了解一些,可以到百度里面去搜一下,这方面资料已经很多了,就不需要我再多说了。
数据恢复我们主要用十六进制编辑器:WinHex (数据恢复首选软件)我们先了解一下数据结构:下面是一个分了三个区的整个硬盘的数据结构MBR,即主引导纪录,位于整个硬盘的0柱面0磁道1扇区,共占用了63个扇区,但实际只使用了1个扇区(512字节)。
在总共512字节的主引导记录中,MBR又可分为三部分:第一部分:引导代码,占用了446个字节;第二部分:分区表,占用了64字节;第三部分:55AA,结束标志,占用了两个字节。
后面我们要说的用WinHex软件来恢复误分区,主要就是恢复第二部分:分区表。
引导代码的作用:就是让硬盘具备可以引导的功能。
如果引导代码丢失,分区表还在,那么这个硬盘作为从盘所有分区数据都还在,只是这个硬盘自己不能够用来启动进系统了。
WINHEX RAID修复RAID0分析关于RAID,大家可能有些陌生。
在个人电脑上,RAID用的不多,但是windows XP支持跨区卷和带区卷。
Windows server 2003支持跨区卷,带区卷,RAID-5等。
对于RAID0的分析主要在于重组磁盘,重组磁盘就需要确定盘序,块大小,判断磁盘加入阵列的起始位置等。
确定了上述参数后就可以重组阵列达到恢复数据的目的了。
但是在具体的操作中,要如何确定上述参数呢?这个就要对文件系统有深入的了解,特别是NTFS文件系统,因为RAID基本都是采用NTFS文件系统,很少有采用FAT32文件系统的。
看了马林老师的《数据重现》之后发现,马林老师给出的实验素材真是精心设计过的了。
如果自己做一个RAID就会出现很多和马老师的素材不一样的结果。
这里我就从如何组建一个RAID0开始然后逐步分析。
马老师给出的方法具有通用性,但是有些时候会出现找不到符合马老师给出的素材的情况,那么就不能用马老师讲的方法了。
我们就只能在对文件系统有深入的理解的前提下,分析RAID了。
这就要求我们对文件系统有深入的理解,特别是NTFS文件系统。
好的,下面我就从组建一个RAID0开始,分析一下RAID0。
希望能给大家带来一些启示。
这个是我在windows XP下虚拟出的三块磁盘,每块磁盘的大小都是200M三块磁盘做了一个RAID0 ,采用NTFS格式化。
上图显示的三块磁盘的0号扇区,这个扇区的主要作用是一个DOS分区结构。
和基本磁盘的MBR有点类似。
这个扇区也有一个分区表,但是只占用了一个分区表项。
大家看下图分区类型是0x42 起始于63号扇区,大小是0x9A 20 06 00 也就是401562个扇区。
而磁盘的总扇区数是409600个扇区。
因为在windows系统中采用逻辑磁盘管理也就是LDM。
LDM支持JBOD, RAID0, RAID1和RAID5。
要组成这些阵列类型,我们需要把我们的磁盘转换成动态磁盘,而LDM就是管理动态磁盘的。
前阵子,我在一次正常开机后,打开QQ空间,突然系统死机。
点击鼠标无反应,按键ctrl+alt+del想杀进程确无反应,于是只好按主机reset键强制重启,结果RP爆发,百年一遇…重启后,无法进XP系统,用PE光盘进,发现C盘和E盘都提示“文件或目录损坏且无法读取”,于是用ptdd重建mbr,仍进不了系统。
重启又进入PE,发现此250G的5个分区的硬盘中,E盘反而可以正常读取了,其他分区出现上面那个提示。
用PTDD重建分区表,没解决。
后来在网上搜过“文件或目录损坏且无法读取”的解决方法,最多提到的是chkdsk /f, 但是在PE里,提示无法识别ntfs。
于是只好把硬盘挂载到室友的电脑里,用chkdsk /f修复,修复后我在Xp双击这些分区,原来的C盘,F盘G盘依旧无法进入,还是那个错误提示。
而D盘可以了。
后来挂载到我电脑另一个硬盘的linux里,竟然能进F和G 盘,里面有FOUND.000这类文件夹,在里面找到了不少修复回来的文件,随机在不同目录点了几个都能用。
于是接下来要解决的问题有:1.同样全部是ntfs系统,为什么XP无法读取F和G分区,而linux可以?(虽然不可以在windows里读取,但至少在linux下可以把数据导出备份,成功了一点点)2.如果从数据修复的角度看,现在只剩下C分区了。
头疼… PTDD,DISKGEN,还有用过一些磁盘错误扫描,都检查不出什么错误。
(这里明显我是病急乱投医…)本着不修复好不罢休的精神吧,虽然C分区的数据真的没有了也不至于损失多惨重,可恰好我可以在另一个硬盘linux里的虚拟机里的XP上网,所以也不需要急用电脑而不得不重装系统。
(双系统的好处之一o(∩_∩)o )之后是上网找专业论坛,搜索期刊。
顺便做下广告,我觉得中国硬盘基地技术论坛不错。
我也是第一次从这里知道可以用winhex修复数据。
并且也通过搜索得知我的故障可能是MFT有错。
在里面看过一句话,“你要是不会手动16进制写mft,不知道他的规则,计算方式。
扇区(512字节)。
在总共512字节的主引导记录中,MBR又可分为三部分:第一部分:引导代码,占用了446个字节;第二部分:分区表,占用了64字节;第三部分:55AA,结束标志,占用了两个字节。
WinhexWinhex是使用最多的一款工具软件,是在Windows下运行的十六进制编辑软件,此软件功能非常强大,有完善的分区管理功能和文件管理功能,能自动分析分区链和文件簇链,能对硬盘进行不同方式不同程度的备份,甚至克隆整个硬盘;它能够编辑任何一种文件类型的二进制内容(用十六进制显示)其磁盘编辑器可以编辑物理磁盘或逻辑磁盘的任意扇区,是手工恢复数据的首选工具软件。
首先要安装Winhex,安装完了就可以启动winhex了,启动画面如下:首先出现的是启动中心对话框。
这里我们要对磁盘进行操作,就选择“打开磁盘”,出现“编辑磁盘”对话框:在这个对话框里,我们可以选择对单个分区打开,也可以对整个硬盘打开,HD0是我现在正用的西部数据40G系统盘,HD1是我们要分析的硬盘,迈拓2G。
这里我们就选择打开HD1整个硬盘,再点确定.然后我们就看到了Winhex的整个工作界面。
最上面的是菜单栏和工具栏,下面最大的窗口是工作区,现在看到的是硬盘的第一个扇区的内容,以十六进制进行显示,并在右边显示相应的ASCII码,右边是详细资源面板,分为五个部分:状态、容量、当前位置、窗口情况和剪贴板情况。
这些情况对把握整个硬盘的情况非常有帮助。
另外,在其上单击鼠标右键,可以将详细资源面板与窗口对换位置,或关闭资源面板。
(如果关闭了资源面板可以通过“察看”菜单——“显示”命令——“详细资源面板”来打开)。
最下面一栏是非常有用的辅助信息,如当前扇区/总扇区数目……等向下拉拉滚动条,可以看到一个灰色的横杠,每到一个横杠为一个扇区,一个扇区共512字节,每两个数字为一个字节,比如00。
下面我们来分析一下MBR,因为前面我们说过,前446个字节为引导代码,对我们来说没有意义,这里我们只分析分区表中的64个字节。
目录Winhex概述 (3)1、软件的安装 (3)2、软件使用及介绍 (4)Winhex概述WinHex是一个专门用来对付各种日常紧急情况的小工具。
它可以用来检查和修复各种文件、恢复删除文件、硬盘损坏造成的数据丢失等。
同时它还可以让你看到其他程序隐藏起来的文件和数据。
具体功能如下:*可以对硬盘、软盘、CD-ROM、DVD、ZIP及各种存储卡进行编辑*支持FAT、NTFS、Ext2/3、ReiserFS、Reiser4、UFS、CDFS、UDF等文件系统*可支持重组RAID及动态磁盘*附带数据恢复功能*可以访问物理内存及虚拟内存*内置数据解释器,可以识别解释20种数据类型*可以用数据结构模板查看、编辑结构数据*可以分割与合并文件*可以对文件进行分析与对比*具有灵活的搜索和替换功能*可以对磁盘进行克隆*可对磁盘进行压缩镜像备份,支持对备份文件进行分卷处理*具有编程接口,支持脚本操作*支持256位加密、校验和、CRC32、hash(MD5,SHA-1)计算*支持对磁盘进行数据安全销毁*包含ANSI ASCII,IBM ASCII,EBCDIC,Unicode字符集*支持文件大小超过4GB1、软件的安装Winhex的安装与普通软件安装没有区别,以在Windows XP下为例,双击Setup.exe程序即可开始安装过程。
如图1.1所示。
图1.1程序默认的安装路径是C:\Program Files\WinHex,当然也可以自行选择安装到其他位置。
可以选择语言种类,不过用以选择中文的Chinese按钮处于灰色不可选状态,应该是尚不支持中文。
用户可以选择其它语言,默认语言是英文。
确定安装位置无误后,点击OK按钮,程序会弹出一个询问框,询问是否确定将程序安装到所选位置。
如图1.2所示。
图1.2如果要对安装位置重新选择,可以按“否”按钮回到原界面进行设置。
否则按“是”按钮继续安装。
程序随即会弹出询问框询问是否要建立快捷方式。
然后在选区中单击鼠标右键,选“编辑”又出来一个菜单,然后我们选“复制选块”——“正常”然后我们切换回硬盘1窗口,在零扇区的第一个字节处单击鼠标右键,选“编辑”然后选“剪贴板数据”——“写入……”出现一个窗口提示,点“确定”这样,我们就把一个正常系统盘上的引导代码复制过来了。
下面,我们就开始恢复分区表(共64个字节,分为4个分区表项,每个分区表项占用16个字节,一般只使用前两个分区表项),我们首先来恢复第一个分区标项(也就是用来描述C盘的)。
首先,在第1个字节处(0扇区倒数第五行,倒数第二个字节)填上分区引导标志,因为C盘是活动分区,所以填上80。
接着是第2、3、4字节(本分区起始磁头号、扇区号、柱面号),填上:01 01 00。
第5字节是分区类型符,因为原先C盘是Fat32格式,所以填上:0B。
那么,如果你不知道C盘是什么格式怎么办呢?你会说问问客户呀,那么如果他也不知道呢?别着急,后面在说恢复DBR的时候我会教你怎么分辨分区的格式。
第6、7、8字节是本分区的结束磁头号、扇区号、柱面号,这怎么知道呢?别着急,现在的磁盘都是按照LBA方式寻址,并不按照C/H/S(及柱面、磁头、扇区)方式寻址,所以这个地方你填些什么一般关系不大,但是我要告诉你有一个通用的填法,那就是:FE FF FF。
第9、10、11、12字节,本分区之前已用了的扇区数,也就是MBR所占用的扇区数,那不是63吗?对,但是要将63转为十六进制数,再反过来倒着填写上。
还记得怎么用计算器吗?将63转为十六进制数是3F,不够四个字节前面加零,也就是00 00 00 3F,再将此数从右向左依次序反过来就是3F 00 00 00。
第13、14、15、16字节是本分区的总扇区数,也就是C盘的大小,这就要通过稍微一点点计算来得到了。
因为C盘是从第63个扇区开始,而C盘后面紧接着的是EBR,所以用EBR所在的第一个扇区数减去63就是C盘的大小。
那么如何才能找到EBR所在的第一个扇区呢?我们前面说过,EBR的结构和MBR是一样的,所以,EBR的结束标志也一定是55AA,那么,只要我们找到这个结束标志,再看看这个扇区是不是EBR不就行了?单击“搜索”——“查找十六进制数值……”,然后出来一个对话框在文本框中输入“55AA”,搜索框中选“全部”,然后选中“条件”,把偏移量设置为“512=510”。
用winhex修复U盘的MBR复习:进制转换;K\M\G的关系;1、MBR界面如下说明:MBR:即主引导记录,位于整个硬盘的0柱面0磁道1扇区,共占用了63个扇区,但是实际上只使用了1个扇区(512字节),所谓的引导区病毒就是把这个扇区的数据搞乱而导致系统无法启动也无法使用。
有一个简单的办法恢复引导扇区记录,在DOS模式下,输入命令:FDISK/MBR这个命令只是用来恢复引导代码,不会引起分区改变,丢失数据,此外,也可以用工具软件,例如DISKGEN,winhex等。
EBR:也叫扩展MBR。
因为主引导记录最多只能描述4个分区,如果一个硬盘上多余4个分区,就要采用扩展MBR的办法。
EBR的结果和MBR事一样的。
DBR:DOS引导记录,u盘的第一个扇区就是DBR。
见下图,注意:1)编辑菜单中的“复制”、“黏贴”、“fill block”(填充块);2)位置菜单中的“转到偏移”;3)工具菜单中的“打开磁盘”,这里要注意一般打开“物理磁盘”即:physical media选择:硬盘!2、Winhex软件是按照扇区分隔的,注意每一个扇区会有一个分割线,前446字节为引导代码,可以不看,后64字节为分区信息,每个分区16个字节,共可以表示4个分区(含扩展分区),最后两个字节为“55 AA”,是分区结束标志。
可以有一个简单办法记住分区信息:从55AA开始数,倒数第五行的倒数第二个数开始。
3、从55AA开始数,倒数第五行的倒数第二个数为“80”就意味着这个分区时可以启动的,否则不可以启动。
例子:我的电脑的截图:80:是什么意思?我的电脑C盘是多大?4、从55AA开始数,倒数第四行的第三个数,是表示分区性质的。
5、从55AA开始数,倒数第四行的倒数第三个数开始有四个数,按照倒的顺序排列,是表示这个分区的大小的,例如:B9 97 6C 03,实际上是:03 6C 97 B9,用“附件”中的“计算器”把他化为十进制,为57448377,这个表示扇区数目,一个扇区是512个字节,所以还要乘以512,即:57448377 X 521=29413569024字节,1G=1073741824字节,所以,29413569024字节=29.4G,也就是说这个分区大小是29.4G。
对 MFT偏移的修正 ---亲历一次数据修复前阵子,我在一次正常开机后,打开QQ空间,突然系统死机。
点击鼠标无反应,按键ctrl+alt+del想杀进程确无反应,于是只好按主机reset键强制重启,结果RP爆发,百年一遇…重启后,无法进XP系统,用PE光盘进,发现C盘和E盘都提示“文件或目录损坏且无法读取”,于是用ptdd重建mbr,仍进不了系统。
重启又进入PE,发现此250G的5个分区的硬盘中,E盘反而可以正常读取了,其他分区出现上面那个提示。
用PTDD重建分区表,没解决。
后来在网上搜过“文件或目录损坏且无法读取”的解决方法,最多提到的是chkdsk /f, 但是在PE里,提示无法识别ntfs。
于是只好把硬盘挂载到室友的电脑里,用chkdsk /f修复,修复后我在Xp双击这些分区,原来的C盘,F盘G盘依旧无法进入,还是那个错误提示。
而D盘可以了。
后来挂载到我电脑另一个硬盘的linux里,竟然能进F和G 盘,里面有FOUND.000这类文件夹,在里面找到了不少修复回来的文件,随机在不同目录点了几个都能用。
于是接下来要解决的问题有:1.同样全部是ntfs系统,为什么XP无法读取F和G分区,而linux可以?(虽然不可以在windows里读取,但至少在linux下可以把数据导出备份,成功了一点点)2.如果从数据修复的角度看,现在只剩下C分区了。
头疼… PTDD,DISKGEN,还有用过一些磁盘错误扫描,都检查不出什么错误。
(这里明显我是病急乱投医…)本着不修复好不罢休的精神吧,虽然C分区的数据真的没有了也不至于损失多惨重,可恰好我可以在另一个硬盘linux里的虚拟机里的XP上网,所以也不需要急用电脑而不得不重装系统。
(双系统的好处之一o(∩_∩)o )之后是上网找专业论坛,搜索期刊。
顺便做下广告,我觉得中国硬盘基地技术论坛不错。
我也是第一次从这里知道可以用winhex修复数据。
并且也通过搜索得知我的故障可能是MFT有错。
修复移动硬盘RAW格式 WINHEX修复移动硬盘出现:文件或目录损坏且无法读取 MFT损坏 USBC问题症状:移动硬盘,插入之后突然所有分区不能访问,出现如下提示。
那么很有可能是USBC造成问题,网上也有人视之为病毒。
原理就是USBC文件将整个分区的MFT向后移了一个sector,造成分区无法访问,其实数据并无损坏,下面是解决办法1.打开win hex,按F92.选损坏的硬盘3. 双击损坏的分区4. 出现这个,不理会5. 选boot sector template6.记下Start C# $MFT的位置,移动硬盘一般为7864327.cltr+G,Go to sector,把刚才复制的MFT位置填进去8.发现原本应该为MFT文件的位置0C0000000变为了USBC,下面进行替换工作9.向下移动到0C0000200,发现这就是MFT文件的开头,即USBC把MFT信息往下推了一个sector,修复方法就是把MFT信息往前平移10.MFT信息由四个文件组成分别是$MFT, $MFTMirr, $LogFile, $Volume,结构是一个数据区,一个空区,再一个数据区…共四个。
直到$AttrDef为下一个扇区的数据,已经不是MFT信息,这后面的数据并没有受到USBC的修改选中从0C0000200到0C0000E00的所有数据,按ctrl+C复制定位到0C0000000,按ctlr+B填充11. 将0C0000E00的数据改为空区的格式,即保留最后两位,其他位清零。
按ctrl+S保存修改12.修复MFT的工作至此完成。
从新用winhex打开此分区,应该就可以正常打开了,区内的文件已经可以拷贝出来了。
若winhex此时仍无法读出此分区的文件,那么换用随便一款硬盘数据恢复软件应该都可以读出区内的文件,比如使用EasyRecovery13.大功告成,剩下的就是漫长的拷贝文件时间了。
将故障硬盘挂接在其他正常机器上,使用winhex进行填0操作
操作步骤
其实,通常情况下EBR是不会被破坏的,或者破坏的几率极低极低,通常情况下,都是只有MBR被破坏,那么这种情况下,我们只要把MBR的分区表64个字节复原,其他的分区顺着分区表所提供的链自然而然就出来了。
那么,如何才能将分区表复原呢?这就要通过计算结合Winhex强大的功能来实现了。
启动软件后,如果是英文版就在菜单栏的help中选择setup里选择chinese,然后在工具中,选择启动中心。
再选择打开磁盘,在这个对话框里,我们可以选择对单个分区打开,也可以对整个硬盘打开。
下面我们就来模仿分区表被病毒破坏的情况,将MBR全部填零。
我们首先将MBR所在的扇区选中。
鼠标指向第一个字节,单击右键,选择“选块开始”
然后鼠标指向MBR的最后一个字节,单击右键,选择“选块结尾”
然后我们在选区内部单击鼠标右键,选择“编辑”
这样就有出来一个菜单
然后我们选“填充选块”,这样就出来一个填充选块对话框
在“用十六进制填充”的输入框中输入“00”,再点“确定”
这样MBR所在扇区全部被我们填充为“00”
如果想取消选区,那就用鼠标拖动随便选中一块区域,那么原来的选区就会取消。
注意,如果扇区数据被修改了而没有存盘就会变为别的颜色。
修改了扇区,这时候还没有存盘生效,如果你想存盘生效的话,就选择“文件”菜单“保存扇区”命令。
这时候就会出现一个提示,如果你不想存盘了就点取消,如果想存盘,就点确定,再点是。
这样就存盘了,扇区被修改的数据又变为黑色。
这样我们就把分区表给删除了,这时候必须重新启动才能生效,如果你打开我的电脑,会发现故障硬盘的分区还在那里,并且里面的数据还能正常使用。
现在,我们关闭所有程序将电脑重新启动……
经过不长时间的等待,电脑启动起来了,我们打开我的电脑看看,发现故障硬盘的分区不见了
再打开Winhex发现MBR全部为零了。