硬盘维修数据恢复经验Word文档下载推荐.docx

上传人:b****4 文档编号:17645689 上传时间:2022-12-07 格式:DOCX 页数:15 大小:38.90KB
下载 相关 举报
硬盘维修数据恢复经验Word文档下载推荐.docx_第1页
第1页 / 共15页
硬盘维修数据恢复经验Word文档下载推荐.docx_第2页
第2页 / 共15页
硬盘维修数据恢复经验Word文档下载推荐.docx_第3页
第3页 / 共15页
硬盘维修数据恢复经验Word文档下载推荐.docx_第4页
第4页 / 共15页
硬盘维修数据恢复经验Word文档下载推荐.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

硬盘维修数据恢复经验Word文档下载推荐.docx

《硬盘维修数据恢复经验Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《硬盘维修数据恢复经验Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。

硬盘维修数据恢复经验Word文档下载推荐.docx

  3、第一个分区的FAT1(占用空间由磁盘大小和FAT类型来定)

  4、第一个分区的FAT2(占用空间由磁盘大小和FAT类型来定)

  5、第一个分区的根目录区

  6、第一个分区数据区(用来存放各种文件的数据)

  7、扩展分区表(占用一个扇区)

  8、第二个分区的引导扇区(Bootsector)(占用一个扇区)

  9、第二个分区的FAT1(占用空间由磁盘大小和FAT类型来定)

  10、第二个分区的FAT2(占用空间由磁盘大小和FAT类型来定)

  11、第二个分区的根目录区

  12、第二个分区数据区(用来存放各种文件的数据)

  13、扩展分区表

作者:

骨髓炎 回复日期:

2007-2-22 21:

59:

58 

 

  注意:

当你的硬盘没有扩展分区的时候,你就没有扩展分区表了;

当你只有一个硬盘分区的时候你的硬盘结构到6就完了。

(一)主引导扇区(Masterbootsector)的结构:

  它是硬盘的第一个扇区,由主引导程序(MasterBootRecord简称MBR),硬盘分区表(DiskPartitionTable简称DPT)和结束标识三部分组成。

其结构如下:

1、偏移0H~1BDH主引导程序(占446个字节,但实际可能并没有到这么多的字节)

  2、偏移1BEH~1FDH硬盘分区表(占64个字节,每个分区项占16个字节,最多可容纳4个分区项)

  3、偏移1FEH~1FFH结束标识(占2个字节,结束标志,总为55HAAH)主引导程序我在此就不分析了,需要注意的是在主引导程序中有一些出错信息,一些引导型病毒往往会覆盖这些信息来将自己嵌入到主引导程序中去,并将主引导程序开始的几个字节改为一条跳转指令,通过观察主引导程序的变化,往往可以让我们看出自己的电脑是否有引导型病毒,一旦发现异常,我们可以用FDISK/MBR命令来覆盖原有的MBR。

结束标识的两个字节总是55HAAH,该标识只是用于判断这个扇区是否是有效的主引导扇区,如果主引导程序发现没有这个结束标识,将会认为操作系统丢失,并显示“MissingOperatingSystem”。

  硬盘分区表:

  从偏移1BEH~1FDH的64个字节存放的是硬盘分区表,其中最多包含4个分区项,每个分区项由16个字节构成,其结构如下:

1、1BEH~1CDH分区项1

  2、1CEH~1DDH分区项2

  3、1DBH~1EDH分区项3

  4、1EFH~1FDH分区项4

没有用到的分区项上的记录总是16个十六进制码00H我们再来看看每个分区项的详细含义,假设我们的一个分区占用的16个字节被标为00H~0FH,其结构如下:

00H引导标识字节,其值只能为00H或80H,为00H时表示该分区不可引导,为80H时表示该分区可用于引导。

在许多诸如BOOTMAGIC之类的软件都是利用了这一原理,实现多操作系统引导的,了解了这一原理,你也可以写出你自己的多操作系统引导程序了。

01H分区起始磁头号  02H其高2位为分区起始柱面号的高位,底6位为分区起始扇区号03H分区起始柱面号的低位04H分区系统标志,当该值为00H时,表示此分区为不可识别的系统;

为04H时该分区为FAT16分区;

为05H或0FH该分区为扩展分区;

为0B时该分区为FAT32分区;

为83H时表示该分区为Linux分区,为07时该分区为NTFS分区等等。

一些如PQMAGIC磁盘软件在隐藏分区操作时就是将此字节的内容保存后在把它改为00H。

05H分区结束磁头号06H其高2位为分区结束柱面号的高位,底6位为分区结束扇区号07H分区结束柱面号的低位08H~0BH此4个字节为在线性寻址方式下的分区的扇区地址。

当分区大于8G时,扩展INT13H是通过该信息进行寻址的,我们可以发现在这种方式下寻址最多可访问的空间为:

FFFFFFFFH扇*512B/扇=2048G,也就是说我们用扩展INT13H最大可以访问的空间为2048G,这个数字现在对我们来说是非常大的,但谁都不能想象计算机的发展之快,到时到底要如何来突破这个限制呢?

现在谁也不知道。

注意:

此4个字节是从高位到低位排列的!

例如我的分区表第一个分区项此4字节的内容为“3FH00H00H00H”,它代表该分区是从0000003FH开始的,也就是从线性地址63扇开始的(线性地址把硬盘的第一个扇记为0H扇)0CH~0FH此4个字节为以扇区为单位的该分区大小(总扇区数),此4个字节同样是从高位到低

  位排列的!

(二)引导扇区(Bootsector)的结构:

  当主引导程序找到了带有引导标识为80H的分区后,就会将该分区的引导扇区读入到内存地址为0000:

7C00

  处,并把控制权交给引导扇区中的引导程序,让我们来看看其中一些需要了解的地方:

1、0H~02H一条跳转指令,指针指向后面的引导程序

  2、03H~0AH厂商名和系统版本

  3、0BH~0CH每扇字节数,一般为512字节

  4、0DH每簇扇区数(有关簇的概念我们在后面会详细介绍),对于FAT32的磁盘该字节一般为08H,既每簇为8H*512B=4K。

  5、0EH~0FH保留扇区数

  6、10H磁盘FAT的个数,一般为2个

  7、11H~12H对于FAT16的磁盘为根目录的最大目录项,对于FAT32的磁盘该值总为“00H00H”

  8、13H~14H对于软盘或早期小硬盘该处为分区总扇区数,对于硬盘一般此值为“00H00H”

  9、15H介质描述,对于1.44软盘此处长为“F0H”,对于硬盘此处长为“F8H”

  10、16H~17H对于软盘或早期小硬盘该处为每个FAT占用的扇区数,对于硬盘一般此值为“00H00H”

  11、18H~19H每道扇区数,一般为“3FH00H”,即每道有63个扇区

  12、1AH~1BH磁头数,一般为“FFH00H”,即每个柱面有255个磁头

  13、1CH~1FH隐含扇区数

  14、20H~23H对于大硬盘来说该处存放的是该分区占用的扇区数

  15、24H~27H对于大硬盘来说该处存放的是每个FAT占用的扇区数

  16、40H该处为磁盘BIOS信息,第一块硬盘为“80H”,一般软盘为“00H”

  17、47H~51H用户设置的卷标,如果没有卷标此处常为字符串“NONAME”

  18、52H~59H文件系统,对于FAT32文件系统此处常为“FAT32”

  19、1FEH~1FFH结束标识,和上文提到的主引导区的结束标识一样为“55HAAH”以上是引导扇区的一些信息,在上面我们可以获得一些有用的信息,我们也可以想象一下为什么当我们在分区上单击右键在分区属性中可以看到一些分区信息,比如分区大小,文件系统等等,知道原理,你也可以直接调用这些参数了。

(三)磁盘文件分配表(FAT)

  在介绍FAT之前,我们要先了解有关簇的概念,簇(Cluster)是文件数据区被划分成的具有大小相等的区域用于磁盘文件的计量分配单位。

一个簇可能有1、2、4、8、16、32、64或128(必须是2的幂)个扇区构成,但对于一种磁盘系统是其值往往是一定的,比如FAT16中每簇一般为32K(占64个扇),FAT32中每簇一般为4K(占8个扇)。

  要理解操作系统为什么要用簇对磁盘进行管理,还是得学习FAT,FAT32磁盘中在系统引导区之后有一些保留未用的扇区,再后面有一个以F8HFFHFFH0FH开始的FAT表,(对于FAT16是以F8HFFH开始的),每个FAT项占32位(4个字节),FAT16的每个FAT项占16位(2个字节),不同的FAT值有不同的含义:

FAT12的表项值FAT16的表项值FAT32的表项值值的含义

  000H0000H00000000H未用的空簇

  001H~FEFH0001H~FFEFH00000001H~0FFFFFEFH文件已使用的簇

  FF0H~FF6HFFF0H~FFF6H0FFFFFF0H~0FFFFFF6H系统保留簇

  FF7HFFF7H0FFFFFF7H坏簇

  FFF8H~FFFHFFF8H~FFFFH0FFFFFF8H~0FFFFFFFH文件的最后一簇注意:

在FAT表项中的16进制码总是从高向底排列的。

我们再来看看系统是如何利用FAT表来管理和访问文件的。

系统在创建一个新文件时,逐一扫描FAT,跳过已经分配的簇,将该簇分给文件,其簇号作为该文件的起始簇号被放在该文件的文件目录项中(关于文件目录项我们将在后面详谈),如果此文件的大小只需要一个簇就可以放下的话,在该簇对应的FAT项中将放文件最后一簇的标志(一般是FFHFFHFFHF0H,即其值为0FFFFFFFH),如果文件大小一个簇放不下,系统就会在继续寻找FAT表中未用的簇,找到后将该簇的簇号写到上一簇对应的FAT项中,如果此时已经可以存下该文件的数据,系统就会在此簇对应的FAT中记上最后簇的标志,否则就继续找下一空簇......

  也就是说FAT和簇是一一对应的关系,对于FAT32的FAT来说每4个字节为1个FAT项(对于FAT16的FAT每2个字节为一个FAT项),从0~N个FAT项分别对应0~N个簇,在我们对文件进行访问时,总是先访问文件的目录项,找到首簇簇号,再找到该簇号对应的FAT项,在其中找到下一簇的簇号,再在下一簇对应的FAT项中找到再下一簇的簇号......一直到在FAT项中找到有文件最后一簇的标志,我们对该文件的查找才结束。

(当然也可能在首簇对应的FAT中该文件就结束了)这样就形成了一个链,我们把它称为盘簇链。

  简要介绍一下FAT12系统,FAT12现在只用于软盘,因为是每个FAT占12位所以是每2个字节含有3个FAT项,我们来看看FAT12系统在寻找簇链的过程:

将10进制簇号*1.5并取整,该值为FAT相对位移,在该处存放的是下一簇的簇

2007-2-22 22:

01:

01 

  一个问题:

到底每簇占多少扇区合适?

文件所占簇数为:

  文件占用的簇数=[文件长度/每簇所占空间]取整+1

  文件在最后一个簇存放的时候不可能刚好放满,没有放满的空间就浪费了(就好象我们打电话不可能每个电话都打到X分59.99秒,即使你通话时间为X分1秒你也要付出X+1分的电话费),我们可以来计算一下你的FAT系统磁盘空间浪费的大小:

  浪费的空间大小=文件个数/2*每簇字节数(平均每个文件浪费半个簇的空间)

  这样看来好象簇越小浪费的空间也越小,但是有个矛盾的地方是簇越小FAT所用的空间就会越大,同时簇小了,簇链就越长,访问文件的时间就会加长,这又是一种资源上的浪费,因此,簇的大小应该是以提高文件的访问时间和充分利用磁盘空间为原则的。

(三)目录项的结构

  在第2个FAT表(系统一般有两个同样的FAT表)后我们可以找到该分区的根目录区,在上面有许多目录项(注意:

目录项并非根目录才有),让我们先来复习一下FAT16的目录项各个字节的含义:

  由32个字节构成:

  00H~07H文件的文件名,其中00H为以下值时有些特定含义:

  00H表项为空表项

  E5H文件已被删除

  05H实际该字节为的值为E5H

  08H~0AH文件的扩展名

  0BH文件属性8位文件属性字节含义如下:

  B7~B6未用

  B5归档位

  B4子目录(代表该文件是一个目录或叫文件夹)

  B3卷标(卷标也解释为一种特殊的文件)

  B2系统文件

  B1隐藏文件

  B0只读文件

  0CH~15HFAT16系统保留未用

  16H~17H系统最后修改时间,其中:

  16H字节的0~4位是以2秒为增量的秒

  16H字节的5~7位和17H字节的0~2位是分钟

  17H字节的3~7位是小时

  18H~19H文件最后修改的日期,其中:

  18H字节0~4位是天号

  18H字节5~7位和19H字节0位是月份

  19H字节的1~7位为年号,0~119分别代表1980~2099

  1AH~1BH文件的起始簇号(我们在之前已经介绍了)

  1CH~1FH文件的长度(单位为字节)

  我们知道用在FAT16系统下的文件名有一些弊端,如:

文件名最多只能有8个字符(或4个汉字),扩展名最多有3个字符,不分大小写,不能用一些特殊字符等。

在FAT32系统这些问题已经得到解决,我们来看看FAT32系统是如何解决长文件名问题的。

假如在你的电脑中有一个文件名为abcdefghijklmnopqrstuvwxyz111111.txt的文件名,那么该文件在磁盘目录中就占用了4个已32字节为单位的目录项,其中有3个目录项是用来描述长文件名的,有1个目录项是用来兼容老的FAT系统的,我们来看看例子中前3个用于描述长文件名的目录项:

43H31H00H31H00H31H00H31H00H31H00H0FH00H27H31H00H

  2EH00H74H00H78H00H74H00H00H00H00H00HFFHFFHFFHFFH02H6EH00H6FH00H70H00H71H00H72H00H0FH00H27H73H00H

  74H00H75H00H76H00H77H00H78H00H00H00H79H00H7AH00H01H61H00H62H00H63H00H64H00H65H00H0FH00H27H66H00H

  67H00H68H00H69H00H6AH00H6BH00H00H00H6CH00H6DH00H不难看出描述长文件名的目录项中的一些规则:

  在每个目录项的32个字节中,

(1)、偏移0H处:

代表了长文件描述目录项的序号,其中高4位如果为0100则表示此项为最后一个目录项,低4位表示此长文件名的目录项的序号。

如果此长文件名描述目录只用到了1个目录项,则此值为41H,如果此值为E5H代表此文件已被删除;

(2)、偏移0BH~0CH处:

其值总为0FH00H;

(3)、偏移0D处:

该长文件目录项的标号,同一个长文件目录的不同目录项该值总相同(比如本例中3个目录项该值都为27H);

(4)、偏移1AH~1BH处:

该值总为00H00H;

(5)从偏移01H~1FH跳过前4项提到的字节,总是一个文件名的ASCII码接一个00H排列的,如果文件名的ASCII码在一个目录项还未写完,则会接到下一个目录项(实际上这些目录项都是从高到低排列的)同样的位置继续写,如果已经写完,则系统会在最后一个ACSII码后写00H,最多写3个00H,如果3个00H写完后,目录项还有空余位置,则系统会把这些位置全部写上FFH。

  同时FAT32系统还有一个类似与FAT16的目录项(紧接着长文件名的目录的后面),同样占32个字节:

  00H~07H文件的文件名

  0BH文件属性

  0CH保留未用

  0EH~0FH文件创建时间

  10H~11H文件最后访问日期

  12H~13H文件创建日期

  14H~15H文件起始簇号的高16位

  1AH~1BH文件的起始簇号的低16位

  1CH~1FH文件的长度(单位为字节)注意:

其中文件名为DOS兼容文件名,比如上例中在DOS下的文件名为ABCDEF~1.TXT;

其首字节含义同FAT16系统;

文件属性字节含义同FAT16系统;

在FAT32系统中增加了最后访问日期和文件创建时间日期,其计算原理同FAT16中的最后修改的时间和日期。

(四)扩展分区表

  我们已经学习了在主引导扇区中的分区表的偏移04H,是分区系统标志,当该值为05H或0FH表示该分区为扩展分区,其实它并非一个真正意义上的分区项,此分区项只是指向一个扩展分区表,这样做是为了解决分区表中最多只能有4个分区项的问题,扩展分区表也是从扩展分区表所在的扇区偏移1BEH~偏移1FD,该扇区0H~1BDH一般为1BEH个00H,同样要以结束标志55HAAH结束。

  同样,在扩展分区表中也可能存在指向下一个扩展分区表的分区项。

二、手工恢复篇

  学习了有关的理论知识之后我想你一定和我现在一样头晕眼花了,如果你已经掌握了相关理论,就该和我一起来实战数据恢复了。

(一)重建硬盘分区表

  总有些这样的时候,你的系统不能够引导了,你连忙用软区引导,键入C:

\,电脑却无情的告诉你“Invaliddrivespecification”,打开FDISK你发现你的分区表项已经全部消失,你几乎要哭了,你在想这一切是病毒、无聊的骇客还是自己的误操作造成的,但是不管此时你在想什么,都没什么意义了,你正打算重新分区重装系统,这时你要是刚好遇到我,或是象我一样热心的朋友,就会问你:

“你难道就这样甘心和你多年来下载的资料说88么?

”你此时肯定是象落水者抓住了一根救命稻草,说:

“不啊,我希望能拯救硬盘数据,求求你帮我恢复好么?

”此时,我会笑笑说:

“不好,我不想帮你恢复数据,但是我会教你如何来恢复你的硬盘数据的,呵呵!

  首先,得找到一块被病毒或是恶意程序破坏的硬盘,可是这样一块硬盘并非马上就能找到的啊!

怎么办?

为了能够写完这篇文章,为了那位朋友能够恢复自己的数据,我只能用我自己的硬盘来做这个实验了(不禁想起了当年释加摩尼以身喂虎的故事),所谓我不入地狱谁入地狱。

首先,把我的一块40G的硬盘主引导扇区备份一下,以防不测(关于如何备份主引导扇区,看我在11月份的《黑客X档案》中的文章),然后,将我的硬盘主引导区包括分区表给完全清零,(旁白:

这样做非常危险,希望广大小朋友不要效仿!

)然后干什么呢?

大厨师回答:

“备用。

  好了,先来介绍两个磁盘编辑工具,一个是Nortonutility8.0工具包中的Diskedit.exe,一个不错的老牌磁盘编辑工具,在DOS下执行,可惜用的是磁头(Heads),柱面(Cylinders),扇区(Sectors)方式对硬盘进行访问的,所以只能访问最多8G的磁盘空间,如果你的磁盘小于8G或是你只需要对8G内的磁盘进行访问,可以用它,但如果你需要访问8G以上的空间就推荐你用另一个工具:

WinHexV10.47SR1汉化版,这个工具可能大家较为熟悉(在第5期《黑客X档案》光盘中可以找到),是一个不错的16进制文件编辑与磁盘编辑软件,磁盘编辑支持FAT16、FAT32和NTFS,可以在WIN9X和WIN2K、WINXP下运行,并且它的使用非常简单。

  不再多说了,赶快拯救我的硬盘吧,上面还有MM发给我的照片呢!

对了还有我写个MM的信还赶着发呢!

幸好我还有一块小点的硬盘,用它作成主盘,把那块可怜的40G的硬盘挂上,启动成功!

看看“我的电脑”里有没有我那块40G硬盘的分区?

(画外音:

做梦!

),找到第5期《黑客X档案》光盘,安装WinHexV10.47SR1汉化版,打开WINHEW,刚启动会有一个“启动中心”的东西,选择“物理驱动器“中的”硬盘2“(标号为81H),(如果你在这都找不到你需要修复的硬盘的话,十有八九会是硬件问题,这时你要检查一下硬盘的数据线和电源线是否没接好,如果不是这些原因,我想你的硬盘不是需要修复数据了,而是需要真正物理意义上的修理了。

  此时你已经看到了被我完全清零的主引导区了,不用再复习主引导区的结构吧(什么老师没教过?

这位同学你可以下课了),让我先回忆一下我的分区的大致情况吧,分了4个区,第一个区装的是WIN98,FAT32系统,大约5G;

第二个区装的是WINXP,NTFS系统,大约5G;

第三个区是FAT32系统,大约15G;

第四个区是FAT32系统,大约15G。

因为我的分区用PQMAGIC进行操作过,我将原来的第二个分区变为了主分区(即在主引导区中的非扩展分区的分区,可以用来引导系统),并且激活该分区(将引导标识字节的值改为80H,并将原来的引导标识改为00H),然后用光盘来安装WINXP,把它安装到第二分区,本来想装一个BOOTMAGIC实现多系统引导的,还没来得及就被拿来做实验

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学反思汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1