资源描述
计算机病毒分析与对抗第二讲磁盘格式与数据恢复武汉大学计算机学院 彭国军1精选课件引言o数据的地位o数据安全2精选课件o数据恢复数据恢复是指由于各种原因导致数据损失时把保留在介质上的数据重新恢复的过程。即使数据被删除或硬盘出现故障,只要在介质没有严重受损的情况下,数据就有可能被完好无损地恢复。n格式化或误删除引起的数据损失的情况下,大部分数据仍未损坏,用软件重新恢复连接环节的话,可以重读数据。n如果硬盘因硬件损坏而无法访问时,更换发生故障的零件,即可恢复数据。n在介质严重受损或数据被覆盖情况,数据将无法恢复。3精选课件课前我们应该思考的问题o磁盘物理结构是怎样的?其由哪些部分组成?o磁盘中的数据是如何存储和索引的?o磁盘中的数据如何被删除?删除之后的数据是否可以恢复?o如何恢复磁盘中丢失的数据?4精选课件本讲的内容提纲1.硬盘基础知识2.硬盘的数据存储结构3.FAT32文件系统及数据恢复原理4.NTFS文件系统5.数据恢复实例6.安全删除技术5精选课件1.硬盘基础知识6精选课件1.1硬盘外观oIBM 10MB硬盘的内部结构图及外观图 7精选课件20GB的7200RPM高速西部数据硬盘 8精选课件全球最小的HDDo东芝推出的0.85英寸硬盘被吉尼斯承认为一项世界记录“全球最小的HDD”。0.85英寸的HDD大小为322435mm(长宽高),重量只有10g,容量为2-4GB。9精选课件1.2硬盘物理结构o硬盘外部结构 n接口(电源接口+数据接口)n硬盘控制电路n固定面板 o硬盘内部结构n盘片、磁头、盘片主轴、控制电机、磁头控制器、数据转换器10精选课件1.2.1硬盘外部结构o接口硬盘背面及各部件名称 11精选课件1.2.1硬盘外部结构o硬盘控制电路拆下硬盘控制电路后 西数硬盘控制电路近照 12精选课件1.2.1硬盘外部结构o固定面板:就是硬盘正面的面板,它与底板结合成一个密封的整体,保证了硬盘盘片和机构的稳定运行。n在面板上最显眼的莫过于产品标签,上面印着产品型号、产品序列号、产品、生产日期等信息。n除此,还有一个透气孔,它的作用就是使硬盘内部气压与大气气压保持一致。13精选课件1.2.2硬盘内部结构o现现在的硬在的硬盘盘主要包括:主要包括:盘盘片、磁片、磁头头、盘盘片主片主轴轴、控制、控制电电机、磁机、磁头头控制器、数据控制器、数据转换转换器、接口、器、接口、缓缓存等几个部份。存等几个部份。o硬硬盘盘上所有的上所有的盘盘片都固定在一个旋片都固定在一个旋转轴转轴上,上,这这个个轴轴即即盘盘片主片主轴轴。其中所有其中所有盘盘片之片之间间是是绝对绝对平行的,在每个平行的,在每个盘盘片的存片的存储储面上都有一面上都有一个个磁磁头头,磁,磁头头与与盘盘片之片之间间的距离比的距离比头发丝头发丝的直径的直径还还要小。要小。o所有的磁所有的磁头头都都连连在一个在一个磁磁头头控制器控制器上,由磁上,由磁头头控制器控制器负责负责各个磁各个磁头头的运的运动动。o磁磁头头可沿可沿盘盘片的半径方向片的半径方向动动作,而作,而盘盘片在片在这这里以每分里以每分钟钟数千数千转转的的速度在高速旋速度在高速旋转转,这样这样磁磁头头便可便可对盘对盘片上的指定位置片上的指定位置进进行数据的行数据的读读写操作。写操作。14精选课件1.2.2硬盘内部结构15精选课件1)磁头组件o它由读写磁头、传动手臂、传动轴三部份组成。o硬盘的工作原理,它是利用特定的磁粒子的极性来记录数据。o那磁头是怎么读取数据的呢?n首先磁头将磁粒子的不同极性转换成不同的电脉冲信号,再利用数据转换器将这些原始信号变成电脑可以使用的数据,写的操作正好与此相反。16精选课件o西数WD200BB硬盘采用单碟双磁头设计,该磁头组件能支持四个磁头,不过其中有两个磁头传动手臂没有安装磁头。17精选课件2)磁头驱动机构:o磁头驱动机构由电磁线圈电机、磁头驱动小车、防震动装置构成,高精度的轻型磁头驱动机构能够对磁头进行正确的驱动和定位,并能在很短的时间内精确定位系统指令指定的磁道。18精选课件3)磁盘片 o金属或玻璃19精选课件4)主轴组件 o主轴组件包括主轴部件如轴承和驱动电机等。20精选课件5)前置控制电路 o前置电路控制磁头感应的信号、主轴电机调速、磁头驱动和服务定位等,由于磁头读取的信号微弱,将放大电路密封在腔体内可减少外来信号的干扰,提高操作指令的准确性。21精选课件1.3硬盘逻辑结构o 硬盘由很多盘片(platter)组成,每个盘片的每个面都有一个读写磁头。如果有N个盘片。就有2N个面,对应2N个磁头(Heads),从0、1、2开始编号。o每个盘片被划分成若干个同心圆磁道(逻辑上的,是不可见的。)每个盘片的划分规则通常是一样的。这样每个盘片的半径均为固定值R的同心圆再逻辑上形成了一个以电机主轴为轴的柱面(Cylinders),从外至里编号为0、1、2o每个盘片上的每个磁道又被划分为几十个扇区(Sector),通常的容量是512byte,并按照一定规则编号为1、2、3o形成CylindersHeadsSector个扇区。22精选课件1.3硬盘逻辑结构o1.硬盘参数 nCHS(Cylinder/Head/Sector)参数 o磁头数(Heads)表示硬盘总共有几个磁头,也就是有几面盘片,最大为 255(用 8 个二进制位存储);o柱面数(Cylinders)表示硬盘每一面盘片上有几条磁道,最大为 1023(用 10 个二进制位存储);o扇区数(Sectors)表示每一条磁道上有几个扇区,最大为 63(用 6个二进制位存储).每个扇区一般是 512个字节 n磁盘最大容量o255*1023*63*512/1048576=8024 MB(1M=1048576 Bytes)或o硬盘厂商常用的单位:255*1023*63*512/1000000=8414 MB(1M=1000000 Bytes)23精选课件硬盘空间扩展o在老式硬盘中,由于每个磁道的扇区数相等,所以外道的记录密度要远低于内道,因此会浪费很多磁盘空间(与软盘一样).n为了解决这一问题,进一步提高硬盘容量,人们改用等密度结构生产硬盘.n也就是说,外圈磁道的扇区比内圈磁道多.采用这种结构后,硬盘不再具有实际的3D参数,寻址方式也改为线性寻址,即以扇区为单位进行寻址.o为了与使用3D寻址的老软件兼容(如使用BIOS Int13H接口的软件),在硬盘控制器内部安装了一个地址翻译器,由它负责将老式3D参数翻译成新的线性参数.24精选课件2.硬盘的数据存储结构25精选课件2.1硬盘总体结构表26精选课件27精选课件2.2MBRoMBR(Master Boot Record),即主引导记录,有时也称主引导扇区。o位于整个硬盘的0柱面0磁头1扇区(可以看作是硬盘的第一个扇区),BIOS在执行自己固有的程序以后就会jump到MBR中的第一条指令。将系统的控制权交由MBR来执行。n在总共512byte的主引导记录中,MBR的引导程序占了其中的前446个字节(偏移0H偏移1BDH)n随后的64个字节(偏移1BEH偏移1FDH)为DPT(Disk Partition Table,硬盘分区表)n最后的两个字节“55 AA”(偏移1FEH偏移1FFH)是分区有效结束标志。28精选课件oWinHex查看的一块希捷120GB硬盘的mbr 29精选课件2.3DPT(硬盘分区表)o在DPT共64个字节中,以16个字节为分区表项单位描述一个分区的属性。o通常情况下,第一个分区表项描述一个分区的属性,一般为基本分区。第二个分区表项描述除基本分区外的其余空间,即我们所说的扩展分区。30精选课件DPT(硬盘分区表)示例31精选课件DPT分区项各字段含义字节位移字段长度值字段名和定义0 x01BEBYTE0 x80引导指示符(BootIndicator)指明该分区是否是活动分区。0 x01BFBYTE0 x01开始磁头(StartingHead)0 x01C06位0 x01开始扇区(StartingSector)只用了05位。后面的两位(第6位和第7位)被开始柱面字段所使用0 x01C110位0 x00开始柱面(StartingCylinder)除了开始扇区字段的最后两位外,还使用了1位来组成该柱面值。开始柱面是一个10位数,最大值为10230 x01C2BYTE0 x07系统ID(SystemID)定义了分区的类型0 x01C3BYTE0 xFE结束磁头(EndingHead)0 x01C46位0 xFF结束扇区(EndingSector)只使用了05位。最后两位(第6、7位)被结束柱面字段所使用0 x01C510位0 x7B结束柱面(EndingCylinder)除了结束扇区字段最后的两位外,还使用了1位,以组成该柱面值。结束柱面是一个10位的数,最大值为10230 x01C6DWORD0 x0000003F相对扇区数(RelativeSectors)从该磁盘的开始到该分区的开始的位移量,以扇区来计算0 x01CADWORD0 x00DAA83D总扇区数(TotalSectors)该分区中的扇区总数32精选课件DPT的4个分区项oC盘盘之前之前为为1个主引个主引导导扇区和扇区和62个保留扇区。个保留扇区。oC盘盘从从63号扇区开始,号扇区开始,结结束束于于14329979(63+14329917-1)扇区。)扇区。C盘盘大小大小为为7,336,916,992字字节节。o主主扩扩展分区从展分区从14329980扇扇区开始,区开始,结结束于束于(14329980+220106565-1)扇区。主)扇区。主扩扩展分区大小展分区大小为为112,694,560,768字字节节。33精选课件扩展分区表34精选课件扩展分区表o前面各项均为0,仅存分区项和结束标记35精选课件该硬盘详细结构MBR(1)+Res(62)+DBR(1)+Res(31)+FAT1+FAT2+DIR+DATA+36精选课件2.4DBR各字段含义37精选课件DBR各自段具体解释o包括:n跳转指令n厂商标志和操作系统版本号nBPB(BIOS Parameter Block)n扩展BPBnOS引导程序n结束标志o右图以FAT32为例说明分区DBR各字节的含义。38精选课件FAT32下DBR各字段含义o0H02H 一条跳转指令,指针指向后面的引导程序 o03H0AH 厂商名和系统版本 o0BH0CH 每扇字节数,一般为512字节 o0DH 每簇扇区数(有关簇的概念我们在后面会详细介绍),对于FAT32的磁盘该字节一般为08H,既每簇为8H*512B=4K。o0EH0FH 保留扇区数 o10H 磁盘FAT的个数,一般为2个 o11H12H 对于FAT16的磁盘为根目录的最大目录项,对于FAT32的磁盘该值总为“00H 00H”o13H14H 对于软盘或早期小硬盘该处为分区总扇区数,对于硬盘一般此值为“00H 00H”o15H 介质描述,对于1.44软盘此处长为“F0H”,对于硬盘此处长为“F8H”o16H17H 对于软盘或早期小硬盘该处为每个FAT占用的扇区数,对于硬盘一般此值为“00H 00H”o18H19H 每道扇区数,一般为“3FH 00H”,即每道有63个扇区 o1AH1BH 磁头数,一般为“FFH 00H”,即每个柱面有255个磁头 o1CH1FH 隐含扇区数 o20H23H 对于大硬盘来说该处存放的是该分区占用的扇区数 o24H27H 对于大硬盘来说该处存放的是每个FAT占用的扇区数 o40H 该处为磁盘BIOS信息,第一块硬盘为“80H”,一般软盘为“00H”o47H51H 用户设置的卷标,如果没有卷标此处常为字符串“NO NAME”o52H59H 文件系统,对于FAT32文件系统此处常为“FAT32”o1FEH1FFH 结束标识,和上文提到的主引导区的结束标识一样为“55H AAH”39精选课件NTFS下DBRo00:3 bytes跳转指令o03:OEM ID o0B:25 bytesBPBo24:48 bytes扩展 BPBo54:426 bytes引导程序代码o1FE:结束标记(0 xAA55)40精选课件 NTFS下BPB和扩展BPB中参数的含义 41精选课件3.FAT32文件系统及数据恢复原理42精选课件3.1 FAT32分区结构43精选课件o引引导导扇区扇区n在前面已在前面已经论经论述,其中的述,其中的BPB和和扩扩展的展的BPB记录记录了分区的属了分区的属性,即其它性,即其它5个部分的属性。个部分的属性。o保留扇区:保留扇区:nFAT32中的保留扇区除了磁中的保留扇区除了磁盘总盘总第第0扇区用作扇区用作DBR,总总第第2扇区扇区(win98 系系统统)或或总总第第0 xC扇区扇区(win2000,winxp)用用作作OS引引导导代代码扩码扩展部分外,其余扇区都不参与操作系展部分外,其余扇区都不参与操作系统统管理管理与磁与磁盘盘数据管理,通常情况下是不起作用的。数据管理,通常情况下是不起作用的。n操作系操作系统统之所以在之所以在 FAT32 中中设设置保留扇区,是置保留扇区,是为为了了对对DBR作作备备份或留待以后升份或留待以后升级时级时用,比如引用,比如引导导程序以后的程序以后的扩扩展,展,FAT32中中DBR偏移偏移0 x34占占2字字节节的数据指明了的数据指明了DBR备备份扇份扇区所在一般区所在一般为为0 x06即第即第6扇区,当扇区,当FAT32分区分区DBR扇区被扇区被破坏破坏导导致分区无法致分区无法访问时访问时可以用第可以用第6扇区的原扇区的原备备份替份替换换第第0扇扇区来找回数据。区来找回数据。44精选课件oFAT表表(File Allocation Table 文件分配表文件分配表)是是Microsoft在在FAT文件系文件系统统中用于磁中用于磁盘盘数据数据(文件文件)索引和定位引索引和定位引进进的一种的一种链链式式结结构。构。FAT表表记录记录了了磁磁盘盘数据文件的存数据文件的存储链储链表。表。o文件系文件系统统将磁将磁盘盘空空间间按一定数目的扇区按一定数目的扇区为单为单位位进进行行划分,划分,这样这样的的单单位称位称为为簇簇。n通常情况下,每扇区通常情况下,每扇区512字字节节的原的原则则是不是不变变的。簇的大的。簇的大小一般是小一般是2n(n 为为整数整数)个扇区的大小,可以是个扇区的大小,可以是512B、1KB、2KB、4KB、8KB、16KB、32KB、64KB。实际实际中通常不超中通常不超过过32K。45精选课件FAT表FAT记录项的值对应簇的表现情况000000000H未分配的簇00000002H 0FFFFFEFH已分配的簇0FFFFFF0H-0FFFFFF6H系统保留0FFFFFF7H坏簇0FFFFFF8H-0FFFFFFFH文件结束簇通常情况其第 1、2个记录项 用作介质描述。从第三个记录项开始记录除根目录外的其他文件及文件夹的簇链情况。根据簇的表现情况 FAT 用相应的取值来描述,见下表:46精选课件o根目录首簇n对于根目录的第一个簇,系统并不编号为第 0 簇或第 1 簇 ,而是编号为第 2 簇,也就是说数据区顺序上的第 1个簇也是编号上的第 2 簇。47精选课件oFAT中将目录当文件进行处理。文件和目录都以32字节的目录项来进行索引,长文件名拥有多个目录项。48精选课件实际目录的目录项例子49精选课件实际文件的目录项例子50精选课件3.2文件存储与恢复原理51精选课件4.NTFS文件系统52精选课件NTFS文件系统总体结构图o引导扇区将NTLDR区域的代码读入内存并移交控制权oMFT(主控文件表)是NTFS卷结构的核心。nMFT是一个与文件相对应的文件属性数据库,它记录了除文件数据外的所有属性,甚至小文件的数据本身也包含在MFT中。nMFT以文件数组来实现,每个文件记录的大小固定为1KB。53精选课件NTFS引导分区54精选课件实际含义55精选课件MFT(Master File Table):组织结构示意表 最开始是保存系统关键信息的16个元数据文件。从第24个记录开始,MFT记录的都是文件或者目录(其实被NTFS同样视为文件)的描述信息 56精选课件MFT(Master File Table):主控文件表o主控文件表中的每个文件记录由两部分组成:n表头(文件记录头)o长度和偏移处的数据含义不变n属性列表o属性是File具体信息的载体,一个File的所有信息(包括文件的内容)都通过属性体现。通过获取属性的值,就能够得到File的各种所需的信息。o不同的属性列表的对应偏移对应着不同的含义oMFT中每个文件记录的结束标记为FFFFFFFFH57精选课件File Record(FR)oFile Record(文件记录,以下简称FR),大小保持为1KB,即2个扇区n如果一个File足够小(大概700多字节以下),NTFS将其数据直接存放在该File的FR中;n否则,NTFS将开辟新空间存放File的具体数据,其存放位置记录在FR中,通过Data Run指明每段起始簇号和每段(即碎片)占用的簇的个数。58精选课件File Record组织结构示意表 FR头属性1,通常是$STANDARD_INFORMATION属性2,通常是$FILE_NAME属性3,通常是$DATA(普通的数据文件),或者$INDEX_ROOT其它属性,比如:$INDEX_ALLOCATION结束标志0 xFF FF FF FF59精选课件实例:Serial.txt文件60精选课件FR头偏移量0 x000 x03,标志“FILE”,每个FR头都以它开始偏移量0 x14处,2个字节,实际意义相当于FR头的长度,用来推算其后属性(Attribute)参数的位置偏移量0 x16处,2个字节,标志位,该FR是文件01/目录03/未使用00偏移量0 x18处,4个字节,FR实际占用的字节数偏移量0 x2C处,4个字节,MFT记录号,每个卷上的每个File都有一个唯一的记录号(在Windows XP下有效61精选课件属性o按照有无属性名,是否常驻可以分为四类:n常驻、没有属性名n常驻、有属性名n非常驻、没有属性名n非常驻、有属性名o每类属性的头部具体偏移含义有所不同。o从每个属性的偏移00H-03H处,可以得到该属性的类型标志,不同的属性其结构和含义各不相同。n10 00 00 00H-00 10 00 00Hn如30 00 00 00H表示该属性为文件名。80 00 00 00H表示该属性为文件数据。62精选课件实例:数据可容纳在一个FR中的Serial.txt文件63精选课件数据无法容纳在一个FR中的例子:Setup.exe64精选课件5.数据恢复实例65精选课件相关工具oEasyRecoveryo金山数据安全200666精选课件6.安全删除67精选课件o数据被删除之后为什么能够被恢复?o如何防止被删除的数据被恢复?68精选课件课后作业o使用相关工具对数码相机中的已删除相片进行恢复。o手工恢复FAT32文件系统下被删除的一个doc文档o对NTFS文件系统格式进行详细分析,熟悉NTFS下的数据恢复原理69精选课件此课件下载可自行编辑修改,供参考!感谢您的支持,我们努力做得更好!
展开阅读全文