数据存储及恢复原理与应用王伟林wangwl@njcit.edu.cn有无必要专门学习这门技术•没必要?•有必要!数据恢复的分类•物理类数据恢复•逻辑类数据恢复本课程内容:原理:介绍存储介质、硬盘接口分区表文件系统RAID技术操作:虚拟存储软件WINHEX软件常用数据恢复软件应用存储介质:磁存储:硬盘,软盘,磁带电存储:U盘,存储卡,固态硬盘,内存条光存储:光盘固态硬盘(SolidStateDisk或SolidStateDrive):也称作电子硬盘或者固态电子盘,是由控制单元和固态存储单元(DRAM或FLASH芯片)组成的硬盘。固态硬盘的接口规范和定义、功能及使用方法上与普通硬盘的相同,在产品外形和尺寸上也与普通硬盘一致。由于固态硬盘没有普通硬盘的旋转介质,因而抗震性极佳。其芯片的工作温度范围很宽(-40~85℃)。目前广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空等、导航设备等领域。目前由于成本较高,正在逐渐普及到DIY市场。新一代的固态硬盘普遍采用SATA-2接口。固态硬盘:普通硬盘:普通硬盘内部结构磁头组件。这个组件是硬盘中最精密的部位之一,它由读写磁头、传动手臂、传动轴三部分组成。硬盘的接口:IDE:(IntegratedDriveElectronics),即“电子集成驱动器”,它的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。把盘体与控制器集成在一起的做法减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘制造起来变得更容易,因为硬盘生产厂商不需要再担心自己的硬盘是否与其它厂商生产的控制器兼容。对用户而言,硬盘安装起来也更为方便。IDE这一接口技术从诞生至今就一直在不断发展,性能也不断的提高,其拥有的价格低廉、兼容性强的特点,为其造就了其它类型硬盘无法替代的地位。SCSI:(SmallComputerSystemInterface)(小型计算机系统接口),是同IDE(ATA)完全不同的接口,IDE接口是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点,但较高的价格使得它很难如IDE硬盘般普及,因此SCSI硬盘主要应用于中、高端服务器和高档工作站中。SATA:(SerialATA)接口的硬盘又叫串口硬盘,SerialATA采用串行连接方式,串行ATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。不再使用4针的“D形”电源接口,改用新式的易于插拔的15针接口代替。S-ATA采用点对点连接方式,因此每个S-ATA线缆(或通道)只能连接一块硬盘,相应的也就不必像并行硬盘那样设置主、从跳线。光纤通道(FibreChannel):和SCIS接口一样光纤通道最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中。光纤通道硬盘是为提高多硬盘存储系统的速度和灵活性才开发的,它的出现大大提高了多硬盘系统的通信速度。光纤通道的主要特性有:热插拔性、高速带宽、远程连接、连接设备数量大等。硬盘坏•磁头—通电响•盘片—用专门的工具读数据•电路板—更换同型号电路板BIOS芯片固件—用PC3000恢复硬盘数据地址定位参数:C/H/S:三维地址结构:•柱面(磁道):C(Cylinder)•磁头(盘面):H(Head)•扇区:S(Sector)L/B/A(LogicBlockAddress):线性地址,只有“扇区”这一个地址。MBR:(MaterBootRecord)主引导记录(存放在第一个扇区里)—由分区软件创建。引导代码:(00-1BDH)分区表:(64bytes,1BE—1FDH)DPT(DiskPartitionTable)结束标志:55AA引导代码的恢复:•复制其他硬盘的引导代码(挂坏盘)•用DOS引导盘,进入DOS,输入命令:FDISK/MBR。•进入windows磁盘管理,挂盘,“初始化”磁盘,再将以前备份的“分区表”复制,粘贴进来。分区表项的含义:第1字节:00H:分区活动标志,80表示被激活,00表示未激活。第2字节:01H:本分区开始磁头号(H)第3字节:02H:本分区开始扇区号(S)第4字节:03H:本分区开始柱面号(C)第5字节:04H:分区类型(微软:FAT12:01HFAT16:04H(分区小于32M)06H(分区大于32M)FAT32:0BH或0CHNTFS:07H扩展分区:05H或0FH第6字节:05H:本分区结束磁头号第7字节:06H:本分区结束扇区号第8字节:07H:本分区结束柱面第9-12字节:08-0BH:本分区开始扇区号(LBA地址)(本分区之前使用的扇区数目)第13-16字节:0CH-0FH:本分区大小(单位:扇区)分区表扩展分区:扩展引导记录结束标志(55AA)主扩展分区子扩展分区(EBR:ExtendedBootRecord)定义C盘描述剩余空间未用未用定义D盘EBR未用未用定义E盘EBR未用未用定义F盘未用未用未用C盘分区表D盘分区表E盘分区表F盘分区表表项1表项2表项3表项4文件系统:FAT12,16,32;NTFS(微软)OS:FS:DOS3.0之前FAT12DOS3.0-6.22FAT12,16Win3.xFAT12,16win95OSR2之前FAT12,16win95OSR2之后FAT12,16,32win98、SE、winmeFAT12,16,32Winnt3.51之前FAT12,16,32Winnt3.51-4.0FAT12,16,32,NTFSWin2000FAT12,16,32,NTFSWinxp,win2003FAT12,16,32,NTFSvistaFAT12,16,32,NTFSDBR:DOS引导记录FAT:文件分配表FDT:文件目录表。簇:是文件管理的最小单元,第一个簇的簇号为2。1簇=2n扇区FAT12,16:FAT32:DBR(占1-8扇区)FAT1FAT2FDT(占32扇区)DATADBR(占32-38扇区)FAT1FAT2DATA簇大小:(默认数值)分区大小簇/扇区512M1512M—1G21G—2G42G8跳转指令:EBOEMDBRBPB参数(Biosparameterblock)引导代码结束标志符:55AABPB参数:(大多在63号扇区)0BH-0CH:每扇区字节数。0DH:簇大小(每簇扇区数)0EH—0FH:DBR的保留扇区数。(用于找FAT1表)10H:FAT表的个数。11H—12H:FDT最大存放的目录项数。13H—14H:本分区大小。(小于32M分区)(FAT)15H:介质描述符(F8:硬盘,F0:软盘)16H—17H:FAT表大小。(用于找FAT2)18H—19H:每磁道扇区数。(63)。1CH—1FH:本分区开始扇区号。20H—23H:本分区大小。(大于32M的分区)(FAT)32H—33H:DBR备份所在的扇区(只有FAT32有此功能,一般在6号扇区)文件目录项:32Bytes(存放文件名等文件属性信息。文件开始簇号所在偏移量(第2行54,BA)前11字节:文件名文件目录项第12字节::“10”表示文件夹“20”表示文件最后4字节:文件所占用的字节数(文件大小)(文件夹都是0)注:FAT32最大的管理分区大小:32G(由微软的系统限制)FAT表:以链(指针)方式存放簇号。348104810FF文件存储/读取步骤:1、FDT2、FAT3、DATA误删除操作的变化:FDT:“E5”FAT:“00”DATA:不变格式化操作的变化:FDT:“00”FAT:“00”DATA:不变NTFS:格式化后会往分区中写入16个元文件:$BOOT:占用16个扇区,其中第一个扇区是DBR$ROOT(根目录)$MFT:主文件表,管理文件之用$MFTMIRR:主文件表的镜像(部分)$LOGFILE:日志$BITMAP:位图(记录簇的使用情况)DBR$BOOTMFTMFTMIRRNTFS的DBR结构:0B-0CH:每扇区字节数0DH:簇大小1C-1FH:本分区开始扇区号(隐藏扇区数)28-2FH:分区大小(比分区表中的值小1)30-37H:$MFT的开始簇号38-3FH:$MFTMIRR的开始簇号40-43H:每个文件记录包含的簇数文件记录头的结构:($MFT)00-03H:文件记录的头标志(46494C45/FILE)14-15H:第一个属性的开始偏移地址16-17H:“01”表示文件在使用中;“00”表示文件已经被删除属性的公共结构:(相对偏移地址)00-03H:属性类型(用16进制表示)注:“10H”:标准信息属性“30H”:文件名属性“80H”:数据属性08H:属性是否常驻。“00”表示常驻“01”表示非常驻常驻属性的结构:(相对偏移地址)10-13H:属性体的大小14-15H:属性体的开始偏移地址非常驻属性的结构:20-21H:属性体RUNLIST的起始地址例:314058920100所占簇数开始簇号误删除操作的变化:MFT:16-17H由01变为00,表示文件被删除。DATA:不变格式化操作的变化:MFT:清零DATA:不变RAID:独立冗余磁盘阵列(初名:廉价冗余磁盘阵列)磁盘阵列最小管理单元:块RAID技术:01234567(级别)淘汰技术刚出来复杂常用技术RAID-015243769810Stripe(条带/块)条带模式:提高读写速度RAID-11312243545镜像模式:提供冗余RAID-51P337P164P425P28P1P2恢复原理:异或运算00=001=110=111=0软件实现RAID:Win2000PRO:RAID-0SERVER:RAID-0,1,5XP:RAID-0Win2003:RAID-1,5