Winhex最终版
- 格式:pdf
- 大小:7.98 MB
- 文档页数:19
鉴于最近常常有人问用winhex和cbrom怎样修改主模块,现在把我用winhex和cbrom修改主模块的方法发个贴出来,供大家参考。
一般来说,我们用modbin6打开BIOS,就可以通过修改内存来修改主模块,但是这样修改后,用modbin6保存时,主模块都会变大,影响后面其它模块的位置,进而引起蓝屏,甚至黑屏!这里用的winhex和cbrom(1.55版),BIOS之家都有下载,顺便说一下,现在cbrom 最新版是1.82版,那个220版,是DOS版219版的升级版!看清楚,是220版,不是2.20版!由于1.82版会自动修正minit等模块,常常会出一点小问题,反而没有1.55版好用。
好了,闲话少说,现在用修改技嘉EP3C-DS3R激活DELLxp为例,说一下我用winhex和cbrom修改主模块的方法:首先,当然是下载新版的BIOS文件,这里是EP3CDS3R.F3B先把它复制一份,并命名位q.bin(这样方便操作),在WINDOWS的DOS下,执行命令:cbrom q.bin /d >>log.txt(查看q.bin的结构并保存为log.txt)用winhex打开q.bin,按ctrl+f 查找主模块,这里是ep3cds3r.BIN,模块开头在80000处,在开头的2处按右键-选块开始,如图:按键ctrl+f,查找主模块的下一个模块,基本上都是awardext.rom,主模块和awardext.rom之间,都是00 xx 2x这样的模式!xx是主模块的结尾,2x是下一模块的开始!xx可以是任意的,新的BIOS以FF常见,修改它未见有什么影响!(不要修改为00或2x)我们选取主模块时,只要选到00即可,千万别把xx也选上!如图:选好主模块后,按键ctrl+c(复制)-ctrl+n(新建),随便新建一个小文件,比如1K的,按确定,在新建的文件的第一个字节(00处)按ctrl+b(覆盖),按确定,按Y,按ctrl+s存为rar后缀的文件,比如1.rar;先把winhex打开的文件关闭,再退出winhex。
winhex教程WinHex是一款功能强大的十六进制编辑器,主要用于处理二进制文件和磁盘。
它可以帮助用户查看和编辑十六进制数据,分析磁盘、文件系统和媒体等问题。
下面是一个简单的WinHex教程。
首先,下载和安装WinHex软件。
你可以从官方网站或其他可信的源下载WinHex的安装包。
下载完后,双击打开安装包并按照指示进行安装。
启动WinHex软件后,你会看到一个初始界面。
在菜单栏上,你可以看到一系列选项和功能。
现在,我们将介绍一些基本的操作:1. 打开文件:点击“文件”菜单,选择“打开”选项。
然后,浏览到你想要打开的文件,选择它并点击“确定”按钮。
这样,你就可以在WinHex中查看这个文件的十六进制数据了。
2. 编辑数据:在WinHex中,你可以直接在编辑窗口中修改数据。
选中你想要修改的字节或字节块,然后用键盘上的相应键输入新的数值。
当你完成修改后,记得保存你的更改。
3. 查找和替换:点击“搜索”菜单,选择“查找和替换”选项。
在弹出的对话框中,输入你要查找的十六进制值或文本,并选择搜索的模式(十六进制、文本等)。
你还可以选择是否只在选定区域内搜索,以及是否区分大小写等选项。
4. 分析文件:WinHex还可以帮助你分析文件的结构和特征。
通过点击“工具”菜单,你可以访问各种工具,如磁盘分析工具、文件浏览器和文件恢复工具等。
这些工具可以帮助你深入了解文件的组成和特点,并帮助你解决问题。
5. 导出数据:如果你想将WinHex中的数据导出到其他程序中使用,可以点击“文件”菜单,选择“导出”的选项。
在弹出的对话框中,选择数据导出的格式和目标路径,然后点击“确定”按钮。
以上就是一个简单的WinHex教程,介绍了一些基本的操作和功能。
WinHex拥有众多高级功能,如数据恢复、数据分析和数据安全等,可以帮助用户处理复杂的二进制数据和磁盘问题。
希望这篇教程能对你有所帮助。
winhex教程WinHex是一款十六进制编辑器和磁盘编辑器,它带有许多高级WinHex是一款十六进制编辑器和磁盘编辑器,它带有许多高级功能,也被广泛应用于数字证据分析、数据恢复和计算机取证等领域。
一些WinHex的基本使用教程:1. 打开文件:打开WinHex软件,选择File > Open,选择需要编辑的文件。
2. 显示文件内容:在菜单栏中,选择View > Data,即可显示文件内容。
可以在十六进制视图和ASCII视图之间切换。
3. 编辑文件:WinHex可以进行磁盘和文件的编辑和修复。
在编辑之前,可以选择Protect or Read-Only Mode以防止意外更改。
在编辑时,可以通过Insert特定字符、Overwrite字符以及Pasting ASCII or Unicode文本等方式进行文件修改,改动后可以选择Save选项。
4. 查找和替换:可以选择Search&Replace菜单项,然后输入搜索词并选择选项,如IgnoreCase、Whole Words Only等等。
可以通过Replace All/Replace One进行替换操作。
5. 分析文件:WinHex提供了许多分析文件的工具,如查找ASCII 串、统计字符、计算哈希值、数据恢复等等功能。
这些可以通过菜单栏的Analyze选项实现。
6. 磁盘操作:WinHex可以对磁盘进行读取、写入和恢复等操作。
在菜单栏中,选择Extras > Disk Tools,即可进行各种磁盘操作。
以上是WinHex的基本使用方法,需要注意的是,WinHex是一款功能强大的软件,需要谨慎使用防止意外操作。
同时,建议在使用前先阅读其使用手册,掌握更多信息。
winhex使用教程WinHex教程WinHexWinHex数据恢复分类:硬恢复和软恢复。
所谓硬恢复就是硬盘出现物理性损伤,比如有盘体坏道、电路板芯片烧毁、盘体异响,等故障,由此所导致的普通用户不容易取出里面数据,那么我们将它修好,同时又保留里面的数据或后来恢复里面的数据,这些都叫数据恢复,只不过这些故障有容易的和困难的之分;所谓软恢复,就是硬盘本身没有物理损伤,而是由于人为或者病毒破坏所造成的数据丢失(比如误格式化,误分区),那么这样的数据恢复就叫软恢复。
这里呢,我们主要介绍软恢复,因为硬恢复还需要购买一些工具设备(比如电烙Pc3000,铁,各种芯片、电路板),而且还需要懂一点点电路基础,我们这里所讲到的所有的知识,涉及面广,层次深,既有数据结构原理,为我们手工准确恢复数据提供依据,又有各种数据恢复软件的使用方法及技巧,为我们快速恢复数据提供便利,而且所有软件均为网上下载,不需要我们投资一分钱。
数据恢复的前提:数据不能被二次破坏、覆盖!关于数码与码制:关于二进制、十六进制、八进制它们之间的转换我不想多说,因为他对我们数据恢复来说帮助不大,而且很容易把我们绕晕。
如果你感兴趣想多了解一些,可以到百度里面去搜一下,这方面资料已经很多了,就不需要我再多说了。
数据恢复我们主要用十六进制编辑器:(数据恢复首选软件)WinHex我们先了解一下数据结构:下面是一个分了三个区的整个硬盘的数据结构MBR C盘 EBR D盘 EBR E盘,即主引导纪录,位于整个硬盘的柱面磁道扇区,共占用了个扇区,但实MBR00163际只使用了个扇区(字节)。
在总共字节的主引导记录中,又可分为三部分:1512512MBR第一部分:引导代码,占用了个字节;第二部分:分区表,占用了字节;第三部分:446645,结束标志,占用了两个字节。
后面我们要说的用软件来恢复误分区,主要就是恢5AAWinHex复第二部分:分区表。
引导代码的作用:就是让硬盘具备可以引导的功能。
winhex教程winhex数据恢复分类:硬恢复和软恢复。
所谓硬恢复就是硬盘出现物理性损伤,比如有盘体坏道、电路板芯片烧毁、盘体异响,等故障,由此所导致的普通用户不容易取出里面数据,那么我们将它修好,同时又保留里面的数据或后来恢复里面的数据,这些都叫数据恢复,只不过这些故障有容易的和困难的之分;所谓软恢复,就是硬盘本身没有物理损伤,而是由于人为或者病毒破坏所造成的数据丢失(比如误格式化,误分区),那么这样的数据恢复就叫软恢复。
这里呢,我们主要介绍软恢复,因为硬恢复还需要购买一些工具设备(比如pc3000,电烙铁,各种芯片、电路板),而且还需要懂一点点电路基础,我们这里所讲到的所有的知识,涉及面广,层次深,既有数据结构原理,为我们手工准确恢复数据提供依据,又有各种数据恢复软件的使用方法及技巧,为我们快速恢复数据提供便利,而且所有软件均为网上下载,不需要我们投资一分钱。
数据恢复的前提:数据不能被二次破坏、覆盖!关于数码与码制:关于二进制、十六进制、八进制它们之间的转换我不想多说,因为他对我们数据恢复来说帮助不大,而且很容易把我们绕晕。
如果你感兴趣想多了解一些,可以到百度里面去搜一下,这方面资料已经很多了,就不需要我再多说了。
数据恢复我们主要用十六进制编辑器:Winhex (数据恢复首选软件)我们先了解一下数据结构:MBR,即主引导纪录,位于整个硬盘的0柱面0磁道1扇区,共占用了63个扇区,但实际只使用了1个扇区(512字节)。
在总共512字节的主引导记录中,MBR又可分为三部分:第一部分:引导代码,占用了446个字节;第二部分:分区表,占用了64字节;第三部分:55AA,结束标志,占用了两个字节。
后面我们要说的用winhex软件来恢复误分区,主要就是恢复第二部分:分区表。
引导代码的作用:就是让硬盘具备可以引导的功能。
如果引导代码丢失,分区表还在,那么这个硬盘作为从盘所有分区数据都还在,只是这个硬盘自己不能够用来启动进系统了。
FAT32文件系统的WinHex解说示例1、WinHex获取与安装在百度上键入“WinHex”,搜索到“winhex最新官方版下载_百度软件中心”,下载后安装。
运行winhex。
2、WinHex使用与主引导记录(MBR)及分区表(DPT)将SD卡插入读卡器,再插入PC机的USB口,格式化为FAT32、4096字节;在桌面上建立.txt文件,用英文充满10kB以上。
在winhex界面菜单上选择“Tools/Open Disk”获得如下界面。
如果选择“Physical Media”下的“RM1 Generic Mass-Storage (954 MB, USB)”,获得SD卡的物理介质存储区的0扇区的情况。
该扇区的00H~1BDH共446个字节为MBR(Main Boot Record),与硬盘不同,该区域对SD卡没有意义(【1】SD结构),故,全为0;另外的64个字节(1BEH--1FDH)为DPT(Disk Partition Table硬盘分区表)(【2】p6),分区表信息的部分放大如下图:按照本文件夹中【2】p4的说明,上述数据是按照CHS(柱面、磁头、扇区)方式进行寻址的,由于是SD卡,没有磁头等实物对应,故,从000001B0EH至000001C5H相当于00H~0BH没有解释的意义;上图中000001C6H~000001C9H通过“小端模式”(【2】p5)逆序后的数据为00000001,表示LBA(Logic Block Address逻辑块地址,又称为“线性寻址模式”)的起始扇区为1(注意:【2】p7中是51);000001CAH~000001CDH通过“小端模式”逆序后的数据为001DCFFF,表示LBA寻址的扇区总数为001DCFFFH= 1953791,比上图左下角的数据1953792少1,即,逻辑扇区数比物理扇区数少1。
3、SD卡的FAT32系统的逻辑扇区意义解说可在上面的界面中继续解释,但也可以再通过“Tools/Open Disk”打开“Removable medium (E:,954 MB),RM1”得到逻辑扇区,下面基于该界面进行解释。
winhex脚本命令教程--中文版<转>2009-06-09 18:09脚本命令适用的环境比较多。
脚本文件中的注释以为双斜杠开头。
脚本支持的最长255方是十六进制,文本字符串(甚至10进制数值)都可以作为参数,你可以使用引号强数。
如果文本或者变量名中存在空格,则引号是必须的,在引号中的所有字符都被被识当在winhex中使用数学表达式的时候,可以引用数学表达式,但是必须用括号括起来空格。
同样可以在数学表达式中应用数字变量。
支持的操作有,加法(+),减法(-),乘法(*),整除(/),模除(%),逻辑运算以及XOR(^)。
以下是有效的数学表达式:(5*2+1), (MyVar1/(MyVar2+4)), or (-MyVar)。
以下是目前支持的脚本命令的详细描述以及使用实例。
Create "D:\My File.txt" 1000创建一个1000字节的新文件,如果已经存在同名文件,则将其覆盖。
Open "D:\My File.txt"Open "D:\*.txt"打开指定格式的文件,如果通配符为“?”则winhex会让用户选择要打开的文件。
Open C:Open D:打开指定的逻辑驱动器。
如果通配符为“:?”则winhex会让用户选择要打开的逻辑驱动器Open 80hOpen 81hOpen 9Eh打开指定的物理介质。
软盘的为00h,硬盘与u盘为80h,光盘为9Eh。
可以增加第二个参数来设定文件或者介质的编辑模式(“in-place”或者“read-only”)CreateBackup为活动文件的当前状态创建WHX备份。
CreateBackupEx 0 100000 650 true "F:\My backup.whx"备份当前活动磁盘中从0扇区到100000扇区的数据。
备份文件将自动分割成650M大输出文件的路径以及名称作为最后的参数写入。
Winhex⼊门教程之Winhex的简单使⽤教程⼀、Winhex的使⽤353时代的主流修改⼯具是UE,可惜UE在打开linkdata.bin这种超⼤⽂件时的速度令⼈难以忍受,于是狂派都投⼊了Winhex 的怀抱。
WinHex v14.1 SR-6 汉化破解版下载地址:winhex汉化版64位(16进制编辑器) V19.8 SR-4 专家版类型:编程⼯具⼤⼩:3.5MB语⾔:简体中⽂时间:2019-04-12查看详情⽤Winhex打开要修改的⽂件,显⽰如下界⾯:任何⼀个存储在计算机上的⽂件都可以认为是由最基本的0和1组成的,Winhex便是将这些⽂件以⼆进制形式打开。
不过显⽰的时候是⼗六进制,⼀位⼗六进制相当于四位⼆进制,两位⼗六进制相当于⼋位⼆进制即⼀个字节,每个字节即对应⼀个地址。
左边那⼀列是⾏标,上边那⼀⾏是列标,⾏标和列标便组成了地址。
如6BFA3003这个地址,其⾏标便是6BFA3000,列标为3。
想要修改数值,直接键盘输⼊即可。
⼀个基本常识:对于有多位的⼗六进制数值⽽⾔,存储⽅式是低位在前,⾼位在后。
如6e731f这么个值,存储⽅式便是1f 73 6e。
既然显⽰⼗六进制,那么⾃然存在⼀个⼗六进制和⽇常使⽤的⼗进制转化的问题。
通常可以靠Windows的计算器来完成,点击Winhex⼯具栏的图标即可打开。
在计算器的查看菜单⾥选择“科学型”,便有进制转换的功能。
其实Winhex⾃带的数据解释器也可以实现进制转换。
(看不到数据解释器的,单击视图——显⽰——数据解释器)把光标定在某⼀地址,数据解释器⾥便能显⽰对应的⼗进制数值。
在数据解释器⾥输⼊⼗进制值然后按回车,则那个地址的数值就会被改写成对应的⼗六进制。
在“选项——数据解释器”⾥还能对数据解释器的显⽰内容作设置,⽐如翻译⽆符号数、浮点数等,这个有兴趣的⾃⼰试试。
地址定位靠⾏标和列标来定位地址显然是愚蠢废⼒的。
Winhex的⼯具栏上有个图标,点击显⽰如下界⾯:此时直接在“新位置”⾥输⼊地址便可完成定位。
然后在选区中单击鼠标右键,选“编辑”又出来一个菜单,然后我们选“复制选块”——“正常”然后我们切换回硬盘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 教程+应用+数据恢复-Doc文件恢复-MBR、EBR、DBR字节位置内容及含义第1字节引导标志。
若值为80H表示活动分区;若值为00H表示非活动分区。
第2、3、4字节本分区的起始磁头号、扇区号、柱面号第5字节分区类型符:00H——表示该分区未用06H——FAT16基本分区0BH——FAT32基本分区05H——扩展分区07H——NTFS分区0FH——(LBA模式)扩展分区83H—— Linux分区第6、7、8字节本分区的结束磁头号、扇区号、柱面号第9、10、11、12字节本分区之前已用了的扇区数第13、14、15、16字节本分区的总扇区数1、什么是逻辑驱动?2、什么是物理驱动器?3、怎么搜索MBR、EBR、DBR?MBR、EBR、DBR他们都是以55AA结尾在winhex中搜索16进制:55AA 偏移512=510(1)搜索DBR的标志:FAT16的DBR:EB 3C 90 没有备份的DBRFAT32的DBR:EB 58 90 (备份的DBR)在该分区的第6扇区NTFS的DBR: EB 52 90 (备份的DBR)在该分区的最后一个扇区判别MBR的方法:MBR就在LBA第一个扇区,打开物理硬盘,第一个扇区就是了。
MBR的分区表在1BE 偏移往后到1FD,共64个字节,每项16个字节。
1FE-1FF就是“55 AA”判别EBR的方法:EBR的结构和MBR的结构是一样的,在倒数第五行倒数第二个字节应该是00 01,并且前446个字节应该是0(2)查找DBR 可以通过搜索本分区的EBR去找DBR.可以搜索EBR,定位DBR.DBR相对于EBR后63号扇区。
(3)当某分区的DBR坏了,就提示:未格式化 这个时候用winhex打开逻辑盘,就打不开。
我们只有通过打开物理驱动器,然后跳转到该分区。
就可以查看DBR是否被破坏了。
可物理驱动器的模式是从"0"扇区开始描述系统而逻辑驱动模式是从系统的DBR开始描述系统(从第64扇区开始描述).用winhex 做U盘免疫AUTO.INF用WinHex制作无法修改的AutoRun.inf文件 在我们日常工作中,经常需要使用闪存(也称为U盘或者优盘)主要是AutoRun.inf 文件在起作用,我们可以使用WinHex解决这一问题。
Winhex 手动恢复硬盘分区表提取数据前言上次我这个半吊子老鸟的让新手快速了解“分区表” ,抛弃枯燥反响比较强烈,此外上次的文章回 复当中也有朋友提到了期望我能写一写数据恢复软件的用法。
由于 Disk genius 在论坛中有相应教程, 我也不再赘述。
搜索了一下发现 Winhex 好像没人写过,那今天就整点高级的看看,希望对新手能有 所帮助。
要说用这 Winhex 来手动修复分区表,还不得不对硬盘的分区表有些基础认识,对分区表是何物 也不知道的朋友,还是建议你去找找类似的介绍文章,或者看看上面的链接。
正文顺序大致如下:目录前言 初步应用—— ——双分区恢复实例及分析 一. 初步应用——双分区恢复实例及分析1. 2. 3. 4. 现场重现 手动修复 我做了什么? 我做了什么?其实只有 3 步 小结分区表修复进阶—— ——多 二. 分区表修复进阶——多分区的计算1. 一主分区,三逻辑分区情况下的计算 一主分区, 2. “05”标识是怎么回事? ”标识是怎么回事? 3. 小结三. 总结及写在后面好啦闲话休言,下面就是正文咯~初步应用—— ——双分区恢复实例及分析 一. 初步应用——双分区恢复实例及分析1. 现场重现: 现场重现:提示,切勿随意使用自己的硬盘进行试验,切记试验前保存重要数据。
对于移动硬盘,损坏往往发生于硬盘传 输数据中断电。
现在我将一个有问题的移动硬盘接到电脑上,在“计算机管理” “磁盘工具”中我们可以看到这 个未被初始化的磁盘显示为黑色(打开磁盘工具时它会提示你要初始化,不理它,点“取消” ),在“计算机”中也找不到这个磁盘。
对于新手,往往是这样几个表情吧~~其实俺也是这么过来滴~争取这篇文章 之后让大家的表情都变成这样~~2. 手动修复: 手动修复:(1) 打 开 Winhex 菜 单 栏 --> 选 择 “ 工 具 ” 打 开 磁 盘 ( F9 ) 选 择 要 修 复 的 硬 盘 , 这 里 是 HD2 。
(2) 打开之后图中显示从0000H 01ffH之间的数据全部为0。
现在我从一个运转良好的硬盘分区表中将 0000H 01bdH 之间的数据复制并粘贴到损坏硬盘的相应位置 (注 释 三 ) 操 作 步 骤 为 : 在 良 好 硬 盘 中 拉 选 0000 01bd 之 间 的 区 块 , 被 选 中 区 块 呈 亮 蓝 色 ; 。
复制选块; 接下来在损坏硬盘中拉选相应区域,将光标定位至 0000;右键 编辑 粘贴板数据 写入将 01fe,01ff 填写为55AA,别忘记保存保存。
(3) 点击黄色区域的图标并转移至 63 号扇区 管 理 ( Alt+F12 ) NTFS 引 导菜单“视图” 模板 扇 区。
打 开 如下 图,并记录黄色方框 内的两个数值(63 和 63777986) (4) 63+63777986+1=63778050 , 跳 转 至 63778050 扇 区。
稍微向下滚动 一点,看到那个粉色框标识出的 55AA 了嘛?往前找到黄色框内的部分,显示为 3F 00 00 00,将其进行反向 排列,变为 00 00 00 3F 于是 3F(十六进制)=63(十进制)——我们称这个数为相对偏移量。
接下来跳转至 63778050+63=63778113 扇 区 , 我 们 又 发 现 了 一 个 EB 开 头 的 扇 区“ 视 图 ”模 板 管 理 ( Alt+F12 ), 再次选择菜单 主 引 导 记 录 NTFS 引 导 扇 区 。
打 开 如 下 图,同样记录一下黄 色方框中的数值(63 和 92518271) (5) 跳转至 0 扇区。
菜单“视图” 模板管理(Alt+F12) 主引导记录,打开如下图。
填上如图所示的几个数据:至于为什么是这些数据,下节会提到。
填写完之后千万别忘了保存哦~ (6) 好 了 , 在 设 备 管 理 器 里 禁 用 损 坏 硬 盘 再 启 用 。
再 从 磁 盘 管 理 里 看 看 结 果,嗯,一切复原 ~ 打 开 看 看 , 数 据 都 在过程看上去有些复杂,其实熟练的话可以控制在 5 分钟之内,所以它并不难~下面就看看我做了些什么, 以及那些数据是怎么来的,做什么用的。
3. 我做了什么?其实只有 3 步 我做了什么?上面所做的其实就是修复了硬盘的 MBR(主引导分区记录) ,为什么 MBR 对于硬盘如此重要呢?看过我前面文 章的朋友应该知道分区表就是硬盘的名单:作为一个名单当然不是姓名的简单堆砌,名单也是有分类的,比如哪些 人 是 管 理 员 , 哪 些 人 是 学 生 等 等 ~ 请 先 看 一 下 刚 才 修 复 好 的 硬 盘 的 MBR 全 图硬盘的 MBR 在启动时 大约是起到下面的一个作用:可见作为一个 MBR,必须要有以下的三个部分:446 字节的启动描述;64 字节的分区描述(包括分区格式、分区大 小等参数) ;以及最后的 55AA 结束表示。
于是,只要我们能按照一定格式和规律填写这些项目,我们就能自己制作 分区表了。
对于恢复分区表,我们要做的就是下面的流程:不难发现,这其中前面的 446 字节的引导文件和最后添加的“55AA”标识都是 ctrl+c 然后 ctrl+v 的事情,因此修复分区表的关键在于那 64 个字节的参数是如何寻找及填写的——好在我们利用 Winhex 自身提供的模板, 再加上一点 简单的加法运算,就能非常轻松地获得这些参数。
如下图,其实需要填写的参数不过 8 个,而且都非常有规律性:上文的(3) (4)两步正是我在计算参数所在的位置,而一旦我定位准确,就调用对应的模板去查看参数,随 后在(5)里填写参数(别忘了 NTFS+1 的问题) 至于第一行活动分区:80 表示可以从这个分区启动,00 表示不从这个分区启动(这个参数决定电脑能否从该 分区引导,和 446 字节不同,如果没有那个 446 字节,硬盘都无法识别了) 。
一般装有系统的主分区需要填写 80, 其他的 00 即可。
而硬盘参数这一栏:Fat32 的代码是 0B,NTFS 是 07,扩展分区是 0F~~这些边边角角都很简单, 这里就不多说了~至此,分区表修复工作大功告成~~4. 小结恢复原理:硬盘上的文件是链式的,可以顺藤摸瓜。
此外,硬盘损坏的往往是 MBR,后面各分区的虚拟 MBR 都完好无损,可以通过计算后面各分区的参数,逆向推出 MBR 的参数,从而实现硬盘的修复。
大致步骤:填写 446 字节引导文件 填写 64 字节分区参数 55AA 结束标志 别忘保存 所需参数:活动分区与否(80) ;分区类型参数(0B, 07, 0F 等) ;各扇区大小——共计 8 个参数,其他参数不知 道如何填写就留空。
所需时间:非常熟练的话,5 分钟。
风险:因为只是对 MBR 这 512 个字节进行操作,所以即使失败,大不了重来,对硬盘上其他数据没有任何损 害。
建议将这 512 字节另存为一个文件,以后遇到 MBR 损坏的事件只要把备份 COPY 回去就是了~分区表修复进阶—— ——多分区的计算 二. 分区表修复进阶——多分区的计算在实际使用中,用户往往有多个分区~因此要么倡导减少分区数至两个(系统+数据) ,要么就需要学会多分区 的参数计算~ 对于多分区,由于前面的 446 字节和结尾的“55AA”结束标识不变动,只需要计算中间的 64 字节的分区参数 即可,所以下面仅提供计算方法而不进行破坏性试验。
1. 一主分区,三逻辑分区情况下的计算 一主分区,前面提到过硬盘上的分区结构是链式的,又由于 MBR 之后的各分区表往往保存完好,就可以利用后面的各分 区 MBR 来逆向推导 MBR 的参数~请看下面的分区链式图:在双分区的实例中,填写的参数可表示为:C 盘占用扇区+D 盘之前的扇区+D 盘占用扇区。
由于多个逻辑分区 的总和算一个扩展分区(不知道什么是扩展分区和逻辑分区的可以看看我前面的那篇文章) ,于是多分区的参数无 非是:C 盘占用扇区+扩展分区前的扇区+(逻辑分区 D+逻辑分区 E+……) ,总体来讲还是 3 大块。
由于分区软件的不同,分区前的保留扇区可能有所不同~比如下图的这块硬盘,采用了 diskpart 进行分区,分 区前的保留扇区达到了 2048 个而不是常见的 63 个。
记录 C 盘占用的扇区数为 79871999。
由于这是在 NTFS 模板中查看的信息,所以在做跳转时需要+1,即跳转到 2048+79871999+1=79874048 扇区。
由于这是一个“虚拟 MBR” ,它仍然拥有部分 MBR 特征,所以我们可以调用“主分区引导模板”来查看这个分 区的信息。
可以看到这里的分区信息有两项,相对于上一个实例多了一个“05”分区表示标识,不过这个 05 标识 我们先不用管它。
直接看第一项的两个参数为 2048、167772160。
接下来跳转至 79874048+2048+167772160=247648256 扇区(由于这是在“主引导记录”模板里查看的,所以不 需要+1) ,并调用“主引导扇区”模板查看 E 盘的信息。
记 录 两 个 数 值 为 2048 、 167772160 , 注 意 这 个 分 区 仍 然 有 “ 05 ” 标 识 。
向 下 跳 转 到 247648256+2048+167772160=415422464 扇区。
到这里,分区信息当中只有一项而没有“05”标识,于是可判定这就是整个扩展分区中的最后一个分区。
记录 其信息 2048、209715200。
如果觉得混乱,不妨列出下面这样一个表: C盘 X 盘的起始扇区 X 盘的保留扇区 X 盘的占用扇区 1 2048 79872000 D盘 79874048 2048 167772160 E盘 247648256 2048 167772160 F盘 415422464 2048 209715200由上面的数据不难算出扩展分区的总扇区数为: (2048+167772160)+(2048+167772160)+(2048+209715200) =545265664。
C 盘主分区的参数为:保留分区 2048,C 盘本身占用 79872000,于是扩展分区之前的总分区数为 2048+79872000=79874048。
最后需要填写的参数:注意这个硬盘装有系统,于是第一分区表项填为 80,分区格式代码为 07(NTFS) ;第二分区不作为引导区,为 00,由于是扩展分区,分区格式代码为 0F(扩展分区) 。
其他参数上面皆已算出,直接填入即可。
此外由于现在硬 盘容量很大,原来的“开始头、扇区、柱面”这几个参数已经不足以表达如此大的数字,所以如果不知道这几个数 字如何填写就放在那不去管它,默认为 00。