硬盘联盟数据恢复培训教材

上传人:1777****777 文档编号:38540181 上传时间:2021-11-08 格式:DOC 页数:98 大小:2.68MB
返回 下载 相关 举报
硬盘联盟数据恢复培训教材_第1页
第1页 / 共98页
硬盘联盟数据恢复培训教材_第2页
第2页 / 共98页
硬盘联盟数据恢复培训教材_第3页
第3页 / 共98页
点击查看更多>>
资源描述
中国硬盘联盟培训教材(技术篇)目 录第一章 数据恢复基本原理41.1.数据恢复41.2.常见的软件、硬件故障及可修复性51.2.1.软性故障51.2.2.硬件故障5第二章 硬盘物理和逻辑结构72.1主流磁盘介质72.2.硬盘的外部结构82.3硬盘内部结构92.4.硬盘的逻辑结构122.4.1.盘片132.4.2.磁道142.4.3.柱面142.4.4.扇区142.4.5.容量152.4.6.线性地址扇区16第三章 硬盘分区表原理173.1.硬盘分区格式化173.2.硬盘分区表结构183.2.1.主引导扇区193.2.2.操作系统引导扇区203.2.3.文件分配表213.2.4.目录区213.2.5.数据区223.3.硬盘分区方式223.4.数据存储原理22第四章 FAT原理234.1.FAT文件分配表基础234.1.1.什么是FAT234.1.2.FAT的类型244.1.3.FAT的特点244.1.4.FAT簇大小244.1.5.文件系统的簇的大小25第五章 NTFS文件系统原理255.1.NTFS概述255.2.NTFS的DBR265.3.NTFS的元文件275.4.$MFT文件分析27第六章 RAID原理与数码设备296.1.RAID简介296.2.RAID的优点306.3.RAID的产生原因306.4.RAID的分类316.4.1.RAID0级316.4.2.RAID1级326.4.3.RAID Level 0+1326.3.4.RAID2级336.4.5.RAID 3346.4.6.RAID4346.4.7.RAID-30356.4.8.RAID 5:分布式奇偶校验的独立磁盘结构356.4.9.RAID 50366.4.10.RAID6: 带有两种分布存储的奇偶校验码的独立磁盘结构366.4.11.RAID 7: 优化的高速数据传送磁盘结构366.4.12 RAID10:高可靠性与高效磁盘结构376.4.13 RAID53:高效数据传送磁盘结构376.5.RAID的应用396.6.RAID使用的基本思想406.6.1数据冗余416.6.2数据划分416.7.RAID恢复技术426.7.1.RAID类型的判断426.7.2.RAID5的局限性及使用范围426.7.3.RAID 5的重组实现数据恢复436.8.数码设备436.8.1.数码设备436.8.2.数码照相机存储原理446.8.3.数码照相机的存储特点446.8.4.流行优盘磁盘格式分析44第八章 硬盘硬件恢复技术508.1.硬盘的组成508.2.硬盘各部位常见故障汇总:508.2.1.硬盘的供电:508.2.2.接口:508.2.3.缓存:518.2.4.BIOS:518.2.5.磁头芯片:518.2.6.前置信号处理器:518.2.7.数字信号处理器:518.2.8.电机驱动芯片:518.2.9.盘片:518.2.10.主轴电机:528.2.11.磁头:528.2.12.音圈电机:528.2.13.定位卡子:52第一章 数据恢复基本原理1.1.数据恢复 数据恢复就是把由于硬件缺陷导致不可访问、不可获得、或由于误操作等各种原因破坏或丢失的数据还原成正常数据。 数据恢复是出现问题之后的一种补救措施,既不是预防措施,也不是备份,所以,在一些特殊情况下数据将很难被恢复,如数据被覆盖、低级格式化清零、磁盘盘片严重损伤等。 1.2.常见的软件、硬件故障及可修复性 1.2.1.软性故障 . 修复被CIH病毒破坏的硬盘; . 修复被恶意程序锁住硬盘; . 修复被引导区破坏的硬盘(WYX.B); . 个别磁盘介质老化的修复; . 介绍一些特殊硬盘:DELL引导区的特殊(不能用SYS.COM)、PQ分区的特殊; . 正常硬盘不要随便用Fdisk进行查看,常常会出现的故障每隔63个扇区被破坏; . FAT16/FAT32/NTFS格式; . 误删除文件、误格式化分区; . 误克隆导致分区出错; . 误删除分区; . 用系统恢复盘恢复系统导致分区数据丢失; . RAID阵列数据修复; . Windows 2000/XP操作系统密码破解; . 文档密码破解(.doc、.xls、.RAR、.zip等文档); . 文档修复、Foxmail邮件修复等; . 硬盘杀手破坏前8G数据、挪威客变种E删除文件情况,七月杀手、12月13日(w97/thus)、屏幕保护者等; . BIOS能检测到硬盘但是无法启动系统 1.2.2.硬件故障 1、磁头定位不准; 2、电路板烧毁; 3、电机不转; 4、盘片划伤; 硬盘硬性故障数据恢复情况: 硬盘:l 电路板(芯片烧坏或击穿、三极管等故障),数据修复率 100% l 盘体 盘片 坏道 逻辑性坏道,修复坏道工具MHDD 物理性坏道 重要信息丢失或损坏(指厂家写的信息:如固件又称伺服信息,用PC3000进 行修复)。 磁头组件(包括磁头、磁头臂、小车、预放大器称磁头芯片又放大芯片) 第二章 硬盘物理和逻辑结构2.1主流磁盘介质 下面我们先通过不同的存储介质来看一看当今市场上流行的主机信息存储技术,根据使用的材料和存储原理的不同,存储介质可分为三大类: 电存储技术介质,如内存、闪存等; 磁存储技术介质,如磁带、磁盘等; 光存储技术介质,如光盘、DVD等。 2.2.硬盘的外部结构 硬盘是一个集机、电、磁于一体的高精密系统。其内部是密封的,对用户而言既是黑匣子,也是透明的,用户根本不用关心其内部的运行,只需把标准接口接上即可正常使用。 图 2-1 对上图的解释: 1. 缓存:这就是我们经常说的缓存,其实就和内存条上的内存颗粒一样,是一片SDRAM。缓存的作用主要是和硬盘内部交换数据,我们平时所说的内部传输率其实也就是缓存和硬盘内部之间的数据传输速率。 2. 电源接口和光驱一样,硬盘的电源接口也是由4针组成。其中,红线所对应的+5V电压输入,黄线对应输出的是+12V电压。现在的硬盘电源接口都是梯形,不会因为插反方向而使硬盘烧毁。 3. 跳线:跳线的作用是使IDE设备在工作时能够一致。当一个IDE接口上接两个设备时,就需要设置跳线为“主盘”或者“从盘”,具体的设置可以参考硬盘上的说明。 4. IDE接口:硬盘IDE接口是和主板IDE接口进行数据交换的通道。我们通常说的UDMA/33模式就是指缓存和主板IDE接口之间的数据传输率(也就是外部数据传输率)为33.3MB/s,目前的接口规范已经从UDMA/33发展到UDMA/66和UDMA/100。但是由于内部传输率的限制,实际上外部传输率达不到理论上的那么高。为了使数据传输更加可靠,UDMA/66模式要求使用80针的数据传输线,增加接地功能,使得高速传输的数据不致出错。在UDMA/66线的使用中还要注意,其兰色的一端要接在主板IDE口上,而黑色的一端接在硬盘上。 5. 电容:硬盘存储了大量的数据,为了保证数据传输时的安全,需要高质量的电容使电路稳定。这种黄色的钽电容质量稳定,属于优质元件,但价格较贵,所以一般用量都比较少,只是在最需要的地方才使用。 6. 控制芯片:硬盘的主要控制芯片,负责数据的交换和处理,是硬盘的核心部件之一。硬盘的电路板可以互相换(当然要同型号的),在硬盘不能读出数据的时候,只要硬盘本身没有物理损坏且能够加电,我们就可以通过更换电路板的方式来使硬盘“起死回生”。 图 2-2图 2-32.3硬盘内部结构 A、 磁头组件:这个组件是硬盘中最精密的部位之一,它由读写磁头、传动手臂、传动轴三部分组成。磁头是硬盘技术中最重要和关键的一环,实际上是集成工艺制成的多个磁头的组合,采用非接触式磁头盘片结构,加电后在高速旋转的磁盘表面移动,与盘片之间的间隙只有0.10.3m,这样可以获得很好的数据传输率。 B、 磁头驱动机构:磁头驱动机构由电磁线圈电机、磁头驱动小车、防震动装置构成,高精度的轻型磁头驱动机构能够对磁头进行正确的驱动和定位,并能在很短的时间内精确定位系统指令指定的磁道。 C、 磁盘片:盘片是硬盘存储数据的载体,现在硬盘盘片大多采用金属薄膜材料,这种金属薄膜与软盘的不连续颗粒载体相比具有更高的存储密度、高剩磁及高矫顽力等优点。 D、 主轴组件:主轴组件包括主轴部件,如轴承和驱动电机等。随着硬盘容量的扩大和速度的提高,主轴电机的速度也在不断提升,有厂商开始采用精密机械工业的液态轴承电机技术(FDB)。采用FDB电机不仅可以使硬盘的工作噪音降低许多,而且还可以增加硬盘的工作稳定性。 E、 前置控制电路:前置电路控制磁头感应的信号、主轴电机调速、磁头驱动和伺服定位等,由于磁头读取的信号微弱,将放大电路密封在腔体内可减少外来信号的干扰,提高操作指令的准确性。 目前,微机上安装的硬盘几乎都是采用温彻斯特(Winchester)技术制造的硬盘,这种硬盘也被称为温盘。这种结构的特点为: (1)、磁头、盘片及运动机构密封在盘体内; (2)、磁头在启动、停止时与盘片接触,而在工作时因盘片高速旋转,从而带动磁头“悬浮”在盘片上面呈飞行状态(空气动力学原理),这个“悬浮”的高度约为0.1微米0.3微米,这个高度是非常小的,图2-4标出了这个高度与头发、烟尘和手指印的大小比较关系,从这里就可以直观的“看”出这个高度到底有多“高”了。 图 2-4 磁头高度 (3)、磁头工作时与盘片不直接接触,所以磁头的加载较小,磁头可以做得很精致,检测磁道的能力很强,可大大提高位密度; (4)、磁盘表面非常平整光滑,可以做镜面使用。 综上所述,硬盘内部的完整结构如图2-5所示。 图 2-5每个盘片的每个面都有一个读写磁头,磁盘盘面区域的划分如图20所示。与磁头接触的表面靠近主轴,即线速度最小的地方,是一个特殊的区域,它不存放任何数据,称为启停区或着陆区(LandingZone),启停区外就是数据区。在最外圈,离主轴最远的地方是“0”磁道,而硬盘数据的存放就是从最外圈开始的,所以在硬盘启动的时候有时能听到“吧嗒、吧嗒”声,这是磁头从启停区转到“0”磁道寻道时,由于转速不够,又被磁力拉回,与主轴磕碰发出的声音,很显然,出现这种声音可不是什么好兆头。那么磁头是如何找到“0”磁道的位置的呢? 从图2-6中还可以看到,有一个“0”磁道检测器,就是由它来完成硬盘的初始定位的。图 2-6 硬盘内部结构早期的硬盘,每次关机之前需要运行一个叫Parking的程序,其作用就是让磁头回到启停区,现代硬盘在设计上已摒弃了这个虽不复杂却很让人不愉快的小缺陷,硬盘不工作的时候,磁头就停留在这个启停区。当需要从硬盘读写数据时,磁盘开始旋转,当旋转速度达到额定的高速时,磁头就会被盘片旋转产生的气流所抬起,这时磁头才向盘片存放数据的区域移动。读写完毕,盘片停止旋转,磁头又回归到启停区。盘片旋转产生的气流相当强,足以使磁头托起与盘面保持一个微小的距离。这个距离越小,磁头读写数据的速度就越快,当然对硬盘各部件的要求也越高。早期设计的磁盘驱动器使磁头保持在盘面上方几微米处飞行。稍后一些设计使磁头在盘面上的飞行高度降到约 0.10.5 微米,现在的水平已经达到 0.005 0.01微米,这只是人类头发直径的千分之一。气流既能使磁头脱离开盘面,又能使它保持在离盘足够近的地方,非常紧密地跟随着磁盘表面呈起伏运动,使磁头飞行处于严格受控状态。磁头必须飞行在盘面上方,而不是接触盘面,这种位置可避免擦伤磁性涂层,更重要的是,不让磁性层损伤磁头。但是,磁头也不能离盘面太远,否则就不能使盘面达到足够强的磁化,也就难以读出盘上的磁化翻转(磁极转换形式,也就是磁盘上实际记录数据的方式)。 磁盘上的磁道与唱片上的纹路很类似,其区别就在于磁盘盘面上的磁道是一个个的同心各磁道之间互不相连,而唱片只有一条从外侧向中心呈螺旋状的纹路(光盘的纹路和唱片的纹路是非常相象的,不过光盘是从内向外)。放送唱片时,唱针从唱片外侧向中心连续移动。而在磁盘上读/写数据时,磁头保持静止不动,只有在需要从一条磁道进到另一条磁道时,磁头才会移动。 硬盘驱动器内的电机都是无刷电机,在高速轴承支持下机械磨损很小,可以长时间连续工作。高速旋转的盘体产生明显的陀螺效应,所以在硬盘工作时不宜搬动,否则会增加轴承的工作负荷。为了长时间高速存储和读取信息,硬盘驱动器的磁头小,惯性也小,所以硬盘驱动器的寻道速度要明显快于软驱和光驱。 硬盘驱动器磁头的飞行悬浮高度低,飞行一旦磁头与盘体发生碰撞,就可能造成数据丢失,形成坏块,甚至造成损坏磁头和盘体的严重后果。所以,硬盘系统的密封一定要可靠,在非专业条件下绝对不能开启硬盘密封腔,否则灰尘进入后会加速硬盘的损坏。另外,硬盘驱动器磁头的寻道伺服电机多采用音圈式旋转或直线运动步进电机,在伺服跟踪的调节下精确地跟踪盘片的磁道,所以硬盘工作时不要有冲击碰撞,搬动时要小心轻放。 硬盘的盘片是硬质磁性合金盘片片厚一般在 0.5 毫米左右,直径主要有 1.8 英寸、2.5英寸、3.5英寸和5.25英寸四种,其中2.5英寸和3.5英寸盘片应用最广,目前也有大量的新型硬盘如微型硬盘上市,直径为0.8英寸或1英寸。盘片的转速与盘片大小有关,考虑到惯性及盘片的稳定性,盘片越大转速越低。一般来讲,2.5英寸硬盘的转速在5400r/min7200r/min之间,3.5英寸硬盘的转速在4500r/min5400r/min之间,而5.25英寸硬盘转速则在3600r/min4500r/min之间。现在2.5英寸硬盘的转速最高已达15000r/min,3.5英寸硬盘的转速最高已达12000r/min。 旧式硬盘驱动器的磁头是一种读写合一的薄膜磁头,这种磁头体积小重量轻,与盘片的 磨擦较小。但在盘片高速旋转时磁头仍然与盘片产生较大的磨擦,因而容易引起盘片发热,增加能耗,从而限制了盘片的转速。又因为磁头是读写合一,磁头只能单向工作,读写不能同时进行,影响了数据传输速率。现在的硬盘驱动器磁头已从MR磁头(磁致电阻磁头,这种磁头不但轻小,而且还可以做到读写分离),发展到GMR(巨磁阻)磁头、MRX(扩展磁阻)磁头、窄磁道薄膜感应性写入磁头等新型磁头,而且还有更多采用最新技术的新型磁头不断面世,其性能也更加优越。 2.4.硬盘的逻辑结构 硬盘的逻辑结构基本如下: A、 磁面(Side) 硬盘的每个盘片都有两个盘面(Side),即上、下盘盘面,按照顺序从上至下从“0”开始依次编号。 B、 磁道(Track)磁盘在格式化时被划分成许多同心圆,这些同心圆轨迹叫磁道(Track)。磁道从外向内从0开始顺序编号。 C、 柱面(Cylinder) 所有盘面上的同一磁道构成的一个圆柱,通常称做柱面(Cylinder),每个柱面上的磁头由上而下从“0”开始编号。 D、 扇区(Sector) 操作系统以扇区(Sector)形式将信息存储在硬盘上,每个扇区包括 512 个字节的数据和一些其他信息。 E、 硬盘的容量=硬盘盘面(磁头数)*柱面数*扇区数*512(字节) F、 换算公式1KB=2的10次方 1MB=2的20次方 1GB=2的30次方 1TB=2的40次方 1PB=2的50次方 1PB=1,125,899,906,842,624Byte G、C/H/S与LBA地址的对应关系假设用C表示当前柱面号,H表示当前磁头号,Cs表示起始柱面号,Hs 表示起始磁头号,Ss表示起始扇区号,PS表示每磁道有多少个扇区,PH表示每柱面有多少个磁道,则有: LBA=(C-Cs)*PH*一般情况下,CS=0、HS=0、SS=1;PS=63、PH=2552.4.1.盘片 硬盘的盘片一般用铝合金作基片。硬盘的每一个盘片都有两个盘面(Side),即上、下盘面,一般每个盘面都利用上,即都装上磁头可以存储数据,成为有效盘片,也有极个别的硬盘其盘面数为单数。每一个这样的有效盘面都有一个盘面号,按顺序从上而下自“0”开始依次编号。在硬盘系统中,盘面号又叫磁头号,就是因为每一个有效盘面都有一个对应的读写磁头。硬盘的盘片组在214片不等,通常有23个盘片,故盘面号(磁头号)为03或05。 图27磁道2.4.2.磁道 磁盘在格式化时被划分成许多同心圆,这些同心圆轨迹叫做磁道(Track)。磁道从外向内自0开始顺序编号。硬盘的每一个盘面有3001024个磁道,新式大容量硬盘每面的磁道数更多,如上图2-7所示。信息以脉冲串的形式记录在这些轨迹中,这些同心圆不是连续记录数据,而是被划分成一段段的圆弧,由于径向长度不一样,这些圆弧的角速度一样,而线速度不一样,外圈的线速度较内圈的线速度大,即同样的转速下,外圈在同样时间段里,划过的圆弧长度要比内圈划过的圆弧长度大。每段圆弧叫做一个扇区,扇区从“1”开始编号,每个扇区中的数据是作为一个单元同时读出或写入的。一个标准的3.5英寸硬盘盘面通常有几百到几千条磁道。这些磁道是看不见的,它们只是盘面上以特殊形式磁化了的一些磁化区。这些磁道是在磁盘格式化时就规划好了的。 2.4.3.柱面 所有盘面上的同一磁道构成一个圆柱,通常称作柱面(Cylinder),每个圆柱上的磁头,由上而下从“0”开始编号。数据的读写是按柱面进行的,即磁头在读写数据时首先在同一柱面内从“0”磁头开始进行操作,依次向下在同一柱面的不同盘面即磁头上进行操作,只在同一柱面所有的磁头全部读写完毕后才移动磁头转移到下一柱面,这是因为选取磁头只需通过电子切换即可,而选取柱面则必须通过机械切换。电子切换相当快,比在机械上磁头向邻近磁道移动快得多,所以数据的读/写是按柱面来进行的,而不是按盘面来进行的。也就是说,一个磁道已写满数据,就在同一柱面的下一个盘面来写,一个柱面写满后,才移到下一个柱面,从下一个柱面的1扇区开始写数据。而不是在同一盘面的下一磁道来写,一个盘面写满后再从下一个盘面的0磁道开始写。读数据也是按照这种方式进行,这样就提高了硬盘的读/写效率。 2.4.4.扇区 我们知道,操作系统是以扇区(Sector)形式将信息存储在硬盘上的。每个扇区包括512字节的数据和一些其他信息。一个扇区有两个主要部分:即存储数据地点的标识符和存储数据的数据段,如图2-8所示。 标识符就是扇区头标,包括有组成扇区三维地址的三个数字:扇区所在的磁头(或盘面)、磁道(或柱面号),以及扇区在磁道上的位置即扇区号。头标中还包括一个字段,其中有显示扇区是否能可靠存储数据,或者是否已发现某个故障因而不宜使用的标记。有些硬盘控制器在扇区头标中还记录有指示字,可在原扇区出错时指引磁盘转到替换扇区或磁道。最后,扇区头标以循环冗余校验(CRC)值作为结束,以供控制器检验扇区头标的读出情况,确保准确无误。 扇区的第二个主要部分是存储数据的数据段,可分为数据和保护数据的纠错码(ECC)。在初始准备期间,计算机用512个虚拟信息字节(实际数据的存放地)和与这些虚拟信息字节相对应的ECC数字填入这个部分。 扇区头标包括有一个可识别磁道上该扇区的扇区号。有趣的是这些扇区号物理上并不是象我们想象的那样是连续编号的,它们不必用任何特定的顺序指定。扇区头标的设计允许扇区号可以从1到某个最大值,某些情况下可达256。磁盘控制器并不关心上述范围中什么编号安排在哪一个扇区头标中。在很特殊的情况下,扇区还可以共用相同的编号。磁盘控制器甚至还不管数据区有多大,它只管读出它所找到的数据,或者写入要求它写的数据。 给扇区编号的最简单方法是l、2、3、4、5、6等顺序编号,而扇区交叉指的就是下一个扇区的编号不是连续的下一个数字,而是跳过几个数字的编号,如1、7、13、2、8、14等。使用的交叉量是由扇区的交叉因子规定的。交叉因子用比值的方法来表示,如3:1,表示磁道上的第一个扇区为1号扇区,跳过两个扇区即第四个扇区编号为2号扇区,这个过程持续下去直到给每个物理扇区编上逻辑号为止。图 2-8扇区的结构2.4.5.容量 硬盘的容量由盘面数(磁头数)、柱面数和扇区数决定,其计算公式为: 硬盘容量盘面数柱面数扇区数512字节 关于硬盘容量的大小,经常有人感到迷惑,为什么同一块硬盘,有时显示或报为40GB,有时却只有37GB,这主要是表示方法不标准造成的,如1MB到底代表1,000,000字节还是代表1,048,576字节。在有些软件中把1,000,000字节作为1MB,如DM等,硬盘上标称容量一般也是按1MB1,000,000字节计算的;而在另一些软件中1MB是1,048,576字节,如FDISK等。一些书籍或报刊杂志上发表的论文中,硬盘空间容量的单位也表示不一,有以1,000,000字节为1MB的,也有把1,048,576字节作为1MB的。依据计算机表示数据的特点、数制的表示方式及计算机本身的发展,硬盘容量单位还是应该以2的多少次方表示比较符合实际情况,即以KB(Kilobyte)、MB(Megabyte)、GB(Gigabyte)、TB(Terabyte)、PB(Petabyte)、EB(Exabyte)为单位 在对硬盘进行分区时,常常是实际的分区大小约大于用户指定的分区大小,如输入的基本分区大小为400MB,实际结果却是402MB。这种情况的产生与Fdisk的分区机制有关。Fdisk分区的最小单位是柱面(Cylinder),它不会把一个柱面分配到两个不同的分区中,这就是Fdisk的分区粒度。所以,Fdisk分区时分配的实际容量不小于用户指定的分区容量。 2.4.6.线性地址扇区 系统在管理硬盘扇区时以簇为单位进行,并采用LBA方式来定位扇区。 LBA,全称为Logic Block Address(即扇区的逻辑块地址)。显然,它是相对硬盘扇区三维物理地址而言的。扇区的三维物理地址与硬盘上的物理扇区一一对应,即三维物理地址可完全确定硬盘上的物理扇区。那么为什么还要引入LBA地址呢?首先,由于INT 13的限制,三维地址C/H/S的最大值只能为1024/16/63,容量最大只能达到10241663512 Byte =1032192Byte=504MB。另外,在系统管理文件时去记录烦琐的C/H/S也非常吃力,效率非常低,使用逻辑扇区后,可在硬盘读写操作时脱离柱面、磁头等硬件参数的制约。 由DOS假设硬盘的全部存储区域都由一系列的扇区组成,每个扇区固定包含512个字节。此外,在硬盘中每4,8,16个或更多的扇区组成一个簇,在对一个具体的簇进行读写操作时,DOS划分一个一维数据的逻辑扇区号要比指出“簇200”在“柱面40、磁头2、扇区512”要简单一些。如果一个簇的扇区跨越在两个盘面(即两个磁头)之间,用“柱面、磁头、扇区”的表示方法就更复杂了,这样就引入了LBA的概念。在LBA方式下,系统把所有的物理扇区都按照某种方式或规则看做是一线性编号的扇区,即从0到某个最大值方式排列,并连成一条线,把LBA作为一个整体来对待,而不再是具体的实际的C/H/S值,这样只用一个序数就确定了一个惟一的物理扇区,这就是线性地址扇区的由来,显然线性地址是物理扇区的逻辑地址。 那么线性地址如何与实际的C/H/S值相对应呢?如何把C/H/S值转换为线性地址,把线性地址转换成C/H/S值呢? 首先,要了解从C/H/S到LBA线性地址的转换规则。由于系统在写入数据时是按照从柱面到柱面的方式,在上一个柱面写满数据后才移动磁头到下一个柱面,并从下一柱面的第一个磁头的第一个扇区开始写入,从而使磁盘性能最优,所以,在对物理扇区进行线性编址时,也按照这种方式进行。即把第一柱面(0柱)第一磁头(0面)的第一扇区(1扇区)编为逻辑“0”扇区,把第一柱面(0柱)第一磁头(0面)的第二扇区(2扇区)编为逻辑“1”扇区,直至第一柱面(0柱)第一磁头(0面)的第63扇区(63扇区)编为逻辑“62”扇区,然后转到第一柱面(0柱)第二磁头(1面)的第一扇区(1扇区),接着上一面编为逻辑“63”扇区,0柱面所有扇区编号完毕后转到1柱面的0磁头1扇区,依次往下进行,直至把所有的扇区都编上号。 其次,要注意C/H/S中的扇区编号从“1”至“63”,而LBA方式下扇区从“0”开始编号,所有扇区顺序进行编号。 1. 从C/H/S到LBA 通过对编号规则的介绍,很容易看出C/H/S与LBA地址的对应关系。用C表示当前柱面号,H表示当前磁头号,S表示当前扇区号,CS表示起始柱面号,HS表示起始磁头号,SS表示起始扇区号,PS表示每磁道有多少个扇区,PH表示每柱面有多少个磁道,则有: LBA=(CCS)PHPS+(HHS)PS+(SSS) 公式(2-1) 从C/H/S到LBA的转换比较简单,只用代入公式(2-1)计算即可,系统在管理扇区(簇)时就是按照LBA地址进行的,而在最终写入(或读出)硬盘,进行ATA调用时需要C/H/S参数,下面就看看从LBA到C/H/S的转换关系。 2. 从LBA到C/H/S 先介绍两种运算DIV和MOD(这里指对正整数的操作)。DIV称做整除运算,即被除数除以除数所得商的整数部分。比如,5 DIV 2=2,33 DIV 5=6;MOD运算则是取商的余数。比如,5 MOD 2=1,33 MOD 5=3。DIV和MOD是一对搭档,一个取整数部分,一个取余数部分。 各变量仍按上述假设进行,则有: C=LBA DIV (PHPS)+CS H=(LBA DIV PS)MOD PH+HS (2-2) S=LBA MOD PS+SS 如果不运用MOD运算符,只运用DIV运算符,也可按式(2-3)进行转换,两者的结果相同,只是运算的复杂度不同。 C=LBA DIV (PHPS)+CS H=LBA DIV PS(CCS)PH+HS (2-3) S=LBA(CCS)PHPS(HHS)PS+SS 第三章 硬盘分区表原理3.1.硬盘分区格式化 1、 硬盘低级格式化(low level format)简称低级格式化,也称为物理格式化 (physical format) 2、 Format 高级格式化。 3、 硬盘先分区(Fdisk、Partition Magic),分区是用来建立一些分区表等信息; 以下是fdisk分区的一部分信息: 图3-1 Fdisk界面4、Format主要作用如下: A、从各个逻辑盘指定的柱面开始,对扇区进行逻辑编号(分区内的编号); B、创建引导记录(DBR或成为引导区),如果命令中带上“/S”则装入msdos.sys、 、IO.SYS等3个文件; C、在各个硬盘上建立文件分配表(FAT); D、建立对应的文件目录表(FDT)及数据区(DATA)。 3.2.硬盘分区表结构 新购买来一块硬盘需要将它分区、格式化,然后才能安装操作系统方可以使用。以Win9x/Me系列来说,我们一般要将硬盘分成主引导扇区(MBR)、操作系统引导扇区(DBR)、FAT(文件分配表)、DIR(目录区)和Data(数据区)等五部分(其中只有主引导扇区是唯一的,其它的随你的分区数的增加而增加)。 . MBR(Main Boot Record)即主引导记录区,它位于整个硬盘的0磁道0柱面1扇区,包括硬盘引导程序和分区表。 . DBR(Dos Boot Record)即操作系统引导记录区,通常位于硬盘的0磁道1柱面1扇区,是操作系统可直接访问的第一个扇区,它也包括一个引导程序和一个被称为BPB(BIOS Parameter Block)的本分区参数记录表。每个逻辑分区都有一个DBR。 . FAT(File Allocation Table)即文件分配表,是DOS、Windows9X系统的文件寻址格式,为了数据安全起见,FAT一般做成两个,第二FAT为第一FAT的备份。 . DIR是Directory即根目录区的简写,DIR紧接在第二FAT表之后。 . Data既是数据区,在目录区之后就是数据区,所有的文件等数据均存放在此区域。 3.2.1.主引导扇区 主引导扇区位于整个硬盘的0磁道0柱面1扇区,包括硬盘主引导记录MBR(Main Boot Record)和分区表DPT(Disk Partition Table)。其中主引导记录的作用就是检查分区表是否正确以及确定哪个分区为引导分区,并在程序结束时把该分区的启动程序(也就是操作系统引导扇区)调入内存加以执行。至于分区表,很多人都知道,以80H或00H为开始标志,以55AAH为结束标志,共64字节,位于本扇区的最末端。值得一提的是,MBR是由分区程序(例如DOS的Fdisk.exe)产生。 下图是用江民硬盘修复王查看主引导扇区(主引导记录+分区表) 图3-3上图3-3是硬盘的主引导记录,为硬盘的0面0柱1扇区的信息;也是逻辑上的0扇区(用KVFIX可以看出)每扇区字节数为512个字节。 前446个字节为硬盘的主引导记录。如果在分区表80至55AA等64个字节都正常的情况下,用KVFIX/K或FDISK/MBR能自动生成这446个字节。 上图3-3画红线的80至55AA是硬盘的分区表,以下详细介绍: 80 该字节表示当前硬盘分区是否为激活分区,80表示激活、00表示非激活; 01 该字节表示硬盘的起始磁头(也称为面), 01 该字节表示硬盘的起始扇区(0101这两个字节表示分区起始扇区和柱面号), 00 该字节表示硬盘的起始柱面, 0B 该字节表示硬盘分区的类型,如果硬盘为FAT16位那么此处为06;如果硬盘分区格式为FAT32位那么此处为0B,但是如果该分区格式大于8G那么此处为 0C,如果为NTFS格式此处为07,如果是LiNux分区格式为83。 FE 该字节表示硬盘的结束磁头,255-1=254 3FFE 这两个字节表示硬盘的结束扇区和柱面(常常用FFFF替换)。 3F000000 这4个直接表示为硬盘的隐含扇区,也就是说硬盘分区表到引导区之间的扇区数目。低位在前高位在后0000003F写成3F000000; 00823E00 表示该分区的大小,低位在前高位在后3E8200写成00823E00。 01FF0FFEFFFF 可以从D盘分区表抄过来,但是主分区一般用0F表示,而扩展分区用05表示。 3F823E00 这4个字节表示下一个分区的起始扇区,低位在前高位在后3E823F写成3F823E00, 41A71502 这4个字节表示扩展DOS分区的硬盘大小。 3.2.2.操作系统引导扇区 DBR(Dos Boot Record)即操作系统引导扇区,通常位于硬盘的1磁道0柱面1扇区(这是对于DOS来说的,对于那些以多重引导方式启动的系统则位于相应的主分区/扩展分区的第一个扇区),是操作系统可直接访问的第一个扇区,它也包括一个引导程序和一个被称为BPB(BIOS Parameter Block)的本分区参数记录表。其实每个逻辑分区都有一个DBR,其参数视分区的大小、操作系统的类别而有所不同。引导程序的主要任务是判断本分区根目录前两个文件是否为操作系统的引导文件(例如MSDOS或者起源于MSDOS的Win9x/Me的IO.SYS和MSDOS.SYS)。如是,就把第一个文件读入内存,并把控制权交予该文件。BPB参数块记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数、分配单元(Allocation Unit,以前也称之为簇)的大小等重要参数。DBR由高级格式化程序产生(例如DOS的F)。 1面0柱1扇(KVFIX在63扇区,)也成引导区或BOOT区。参看下图。 图3-5上图为FAT32位的引导区。详细介绍: EB5890 这3个字节为跳转指令,跳转到引导代码; 4D5357494E342E31 这8个字节为厂商表示和DOS版本号或OEM版本号信息 0002 这两个字节表示硬盘每扇区的字节数,每扇区字节数为512,那么十进 制为0200,低位在前高位在后为0020。 08 该字节为每个簇的扇区数(目录扇区数); 2000 这两个字节表示为保留扇区数,也就是说从引导区到第一个文件分配表之间的扇区数目,在此为32个扇区换算十六进制为0020,低位在前高位在后为2000; 02 该字节为文件分配表的份数, 0000 根目录项数(早期DOS版本,FAT16允许最大目录项数512,现在不用了) 0000 扇区总数,小于32MB时;否则不用。 F8 该字节表示磁盘介质,硬盘用F8表示。 0000 这两个字节表示FAT16位的文件分配表的长度,如果是FAT32位此处为空, 3F00 表示每磁道扇区数目,每磁道扇区为63那么十进制为3F。(低位在前高位在后) FF00 表示硬盘的磁头数目,255十进制为FF,低位在前高位在后为FF00; 3F000000 表示为硬盘的隐含扇区,也就是说分区表到引导区的扇区数目; 00823E00 表示本分区大小 990F0000 表示文件分配表的长度,FAT32位。 02000000 为根目录所在簇数,一般为第2簇,为00000002h,字组内前后位(byte)交换得02000000,所以此处为02000000; 0100 为文件系统信息扇区,此文件系统信息扇区为1扇区,为0001h,字组内前后位(byte)颠倒得0100,所以此处为0100; 0600 为系统引导扇区数目,FAT32位的系统引导扇区有7个扇区,即0至6为0006h,字组内前后位(byte)颠倒得0600,所以此处为0600; 80 为磁盘编号(第一个硬盘为80h); 29以后为扩展的引导扇区特征码及系统安装序列号等,这部份可用标准的硬盘照搬过来。3.2.3.文件分配表 FAT(File Allocation Table)即文件分配表,是DOS/Win9x系统的文件寻址系统,为了数据安全起见,FAT一般做两个,第二FAT为第一FAT的备份,FAT区紧接在DBR之后,其大小由本分区的大小及文件分配单元的大小决定。关于FAT的格式历来有很多选择,Microsoft的DOS及Windows采用我们所熟悉的FAT12、FAT16和FAT32格式,但除此以外并非没有其它格式的FAT,像Windows NT、OS/2、UNIX/Linux、Novell等都有自己的文件管理方式。 3.2.4.目录区 DIR是Directory即根目录区的简写,DIR紧接在第二FAT表之后,只有FAT还不能定位文件在磁盘中的位置,FAT还必须和DIR配合才能准确定位文件的位置。DIR记录着每个文件(目录)的起始单元(这是最重要的)、文件的属性等。定位文件位置时,操作系统根据DIR中的起始单元,结合FAT表就可以知道文件在磁盘的具体位置及大小了。在DIR区之后,才是真正意义上的数据存储区,即DATA区。 3.2.5.数据区 DATA虽然占据了硬盘的绝大部分空间,但没有了前面的各部分,它对于我们来说,也只能是一些枯燥的二进制代码,没有任何意义。在这里有一点要说明的是,我们通常所说的格式化程序(指高级格式化,例如DOS下的Format程序),并没有把DATA区的数据清除,只是重写了FAT表而已,至于分区硬盘,也只是修改了MBR和DBR,绝大部分的DATA区的数据并没有被改变 3.3.硬盘分区方式 我们平时说到的分区概念,不外乎三种:主分区、扩展分区和逻辑分区。 主分区是一个比较单纯的分区,通常位于硬盘的最前面一块区域中,构成逻辑C磁盘。在主分区中,不允许再建立其它逻辑磁盘。 扩展分区的概念则比较复杂,也是造成分区和逻辑磁盘混淆的主要原因。由于硬盘仅仅为分区表保留了64个字节的存储空间,而每个分区的参数占据16个字节,故主引导扇区中总计可以存储4个分区的数据。操作系统只允许存储4个分区的数据,如果说逻辑磁盘就是分区,则系统最多只允许4个逻辑磁盘。对于具体的应用,4个逻辑磁盘往往不能满足实际需求。为了建立更多的逻辑磁盘供操作系统使用,系统引入了扩展分区的概念。 所谓扩展分区,严格地讲它不是一个实际意义的分区,它仅仅是一个指向下一个分区的指针,这种指针结构将形成一个单向链表。这样在主引导扇区中除了主分区外,仅需要存储一个被称为扩展分区的分区数据,通过这个扩展分区的数据可以找到下一个分区(实际上也就是下一个逻辑磁盘)的起始位置,以此起始位置类推可以找到所有的分区。无论系统中建立多少个逻辑磁盘,在主引导扇区中通过一个扩展分区参数即可逐个找到每一个逻辑磁盘。 需要特别注意的是,由于主分区之后的各个分区是通过一种单向链表的结构来实现链接的,因此,若单向链表发生问题,将导致逻辑磁盘的丢失。 3.4.数据存储原理 既然要进行数据的恢复,当然数据的存储原理我们不能不提,在这之中,我们还要介绍一下数据的删除和硬盘的格式化相关问题。 . 文件的读取 操作系统从目录区中读取文件信息(包括文件名、后缀名、文件大小、修改日期和文件在数据区保存的第一个簇的簇号),我们这里假设第一个簇号是0023。 操作系统从0023簇读取相应的数据,然后再找到FAT的0023单元,如果内容是文件结束标志(FF),则表示文件结束,否则内容保存数据的下一个簇的簇号,这样重复下去直到遇到文件结束标志。 . 文件的写入 当我们要保存文件时,操作系统首先在DIR区中找到空区写入文件名、大小和创建时间等相应信息,然后在Data区找到闲置空间将文件保存,并将Data区的第一个簇写入DIR区,其余的动作和上边的读取动作差不多。 . 文件的删除 看了前面的文件的读取和写入,你可能没有往下边继续看的信心了,不过放心,Win9x的文件删除工作却是很简单的,简单到只在目录区做了一点小改动将目录区的文件的第一个字符改成了E5就表示将改文件删除了。 . Fdisk和Format的一点小说明 和文件的删除类似,利用Fdisk删除再建立分区和利用Format格式化逻辑磁盘(假设你格式化的时候并没有使用/U这个无条件格式化参数)都没有将数据从DATA区直接删除,前者只是改变了分区表,后者只是修改了FAT表,因此被误删除的分区和误格式化的硬盘完全有可能恢复。如下为FAT16位: 如下为FAT32位: 第四章 FAT原理4.1.FAT文件分配表基础 4.1.1.什么是FAT 操作系统利用来定位文件的表FAT ,由于文件并不连续存放,因此可能分散在磁盘中,FAT就是用来定位这些离散的文件块的。 FAT的位置:在DOS下,FAT紧接着BOOT区存放在系统区的前部; FAT的分类: FAT16 早期Windows 95开始;后来的所谓Windows97/98就开始引用FAT32的概念 相关系统:VFAT,HPFS,NTFS,LINUX等。 文件系统: 目录的结构和管理一个分区的方法,不同的文件系统对应不同的操作系统规范,比如在UNIX系统中。Sample.txt 和 sample.txt是2个完全不同的文件,但是从dos 开始的微软的系统windows 9x/ME/NT等大小写都是一样的;一些文件系统在小型的机器上运行很好,但是另外的一些则运行大型的服务器系统。 每个分区分配一个唯一的类型,在前面讲的MBR结构的主分区或者逻辑扩展分区都指定了分区的类型。 4.1.2.FAT的类型 一个硬盘可能含有不同的文件系统:OS/2;FAT;NTFS;HPFS等。不同文件系统可能识别不同的另外的文件系统 . FAT系统能被所有的其它的文件系统识别,它简单,可靠,但是只能管理比较小的硬盘空间该FAT表显示哪些文件被占用,哪些链属于哪些文件,并且哪些是空的连接可以被其它文件使用。 . VFAT系统则和FAT系统相似,但是它突破了8.3的文件命名规则,可以使用长文件名。 . HPFS支持NTFS文件系统格式的OS/2文件系统,在大容量磁盘的情况下,表现比FAT更加优越,同时支持长文件名;但是它需要更多的内存,当系统内存较小时,比不适合采用HPFS系统。 . NTFS支持所有以上的特性:它能支持大容量磁盘,长文件名,数据的安全性, 由于FAT不识别或者说忽略NTFS格式的磁盘卷标,因此如果在一个硬盘中含有FAT 和NTFS卷标的话,他们之间的顺序就显得很重要了。 安装操作系统的基本原则:FAT,HPFS,最后安装 NTFS。 4.1.3.FAT的特点 FAT特点: 被所有的操作系统支持,内存需求最少,使用简单,可靠;8.3的文件命令规则;在大于32M的磁盘中表现一般;不支持文件服务器。 FAT系统是1976年2月由Bill Gates在一家希尔顿饭店5天的时间发明并设计出来的。当时是为了支持Basic系统,在软盘上存储文件和数据用的。最大的文件块是64KB(簇):浪费大量的磁盘空间,1个byte 的文件占用一个簇的空间,MSDOS是按照簇来分配磁盘空间的。簇越大,那么浪费的磁盘空间越大。 簇的大小是由磁盘的大小来决定的,是在format 时确定的。 4.1.4.FAT簇大小 驱动器大小 FAT 类型 每个簇的 簇大小 (逻辑卷) 扇区数 - - - - (Floppy Disks)360K 12-bit 2 1K 720K 12-bit 2 1K 1.2 MB 2-bit 1 512 bytes 1.44 MB 12-bit 1 512 bytes 2.88 MB 12-bit 2 1K (Hard Disks)15 MB 12-bit 8 4K 16 MB - 127 MB 16-bit 4 2K 128 MB - 255 MB 16-bit 8 4K 256 MB - 511 MB 16-bit 16 8K 512 MB - 1023 MB 16-bit 32 16K 1024 MB - 2047 MB 16-bit 64 32K4.1.5.文件系统的簇的大小 磁盘大小 簇大小 扇区个数 - - - 512MB or less 512 bytes 1 513MB to 1024MB(1GB) 1024 bytes (1KB) 2 1025MB to 2048MB(2GB) 2048 bytes (2KB) 4 2049MB 或更大 4096 bytes (4KB) 8 (Windows NT3.51 或者以后的系统) 磁盘大小 簇大小 扇区个数 - - - 4097MB to 8192MB(8GB) 8KB 16 8193MB to 16384MB(16GB) 16KB 32 16385MB to 32768MB (32GB) 32KB 64 大于32768MB (32GB) 64KB 128 (Windows NT3.51 或者以前的系统) 第五章 NTFS文件系统原理5.1.NTFS概述 除了最常用的FAT文件系统外,还有两种比较常用的文件系统,这就是NTFS和HPFS
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 任务书类


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!