“凯尤什卡”为你分享9篇“硬盘结构及硬盘错误的解决方法”,经本站小编整理后发布,但愿对你的工作、学习、生活带来方便。
篇1:硬盘结构及硬盘错误的解决方法
硬盘的结构
一、物理结构:
硬盘在物理结构上由头盘组件和控制电路板两大部分组成,
㈠ 头盘组件
头盘就是磁头和盘片的意思。头盘组件包括盘体、电机、磁头等部件。所有部件密封在外壳中,绝对无尘、真空,如果你一旦开启了这个密封外壳,那么这个硬盘就会宣告作废。其中盘体由单个或多个盘片组成,各个盘片之间由垫圈隔开,盘片表面极为平整光滑,并涂有磁性介质,是记录数据的载体。盘片多为铝制品,早期出现过陶瓷制品,现在又出现了玻璃材料。一个盘片对应上下两个盘面,分别对应两个磁头。主轴电机带动盘片作高速转动. 由于盘片在高速转动时并不与读写数据的磁头接触,在磁头与盘片距离相当近的情况下,即使有一粒灰尘也会划坏硬盘表面,所以这也是电脑在开机时最忌震动的原因。
㈡ 控制电路板
控制电路板表面焊接了许多芯片,包括主控制芯片、数据传输芯片、高速数据缓存芯片等。盘片上的数据通过前置读写控制电路与控制电路板导通完成对数据的控制。
二、逻辑结构:
硬盘从逻辑结构上划分是针对存储在盘片上的数据如何进行编制的划分。根据其不同的作用可分为五个部分。
㈠ MBR主引导区 (Main Boot Record)
MBR区在硬盘0磁道0柱面1扇区上,大小为512个字节,它由 Mbr (MasterBoot Record), DPT (Disk Partition Table) 和 Boot Record ID 三部分组成,
其中Mbr是主引导记录,点445个字节;DPT是分区表,占64个字节;Boot Record ID 即引导区标记占用两个字节。MBR由分区程序(如fdisk.exe)产生。
㈡ DBR操作系统引导区 (Dos Boot Record)
DBT位于硬盘的0磁道1柱面1扇区,它包括一个引导程序和一个被称为BPB(Bios Parameter Block)的本分区参数记录表。DBR是由高级格式化程序(即Format.com等程序)所产生。
㈢ FAT文件分配表 (File Allocation Table)
㈣ DIR根目录区 (Directory)
FAT和DIR的组合相当于横纵坐标对点的定位,它可以对DaTa区内的任何一个文件进行精确定位。
㈤ DATA数据区
数据真正存放的地方。在Windows中,我们可以轻而易举地删除一个文件,然后再把它从回收站中清除,事实上这只是对这个文件定位信息的清除,它仍然存在于数据区中,这也是还原精灵、恢复精灵所以可以还原数据的根据
篇2:硬盘分区表错误?
故障现象:硬盘分区表错误引导的启动故障,
故障原因及解决办法:硬盘分区表错误是硬盘的严重错误,一般是病毒破坏的为多,不同错误的程度会造成不同的损失。我们以前备份好的分区表这时就可以大派用场了,把好的分区表恢复到硬盘就好了。如果没有备份分区表,那我们可以按下面的方法做。
如果是没有活动分区标志,则计算机无法启动。我们从软驱或光驱引导系统后可对硬盘读写,可用DOS下的fdisk命令来激活活动分区。或用其它很多工具软件修复也可以修复的。
如果是某一分区类型错误,可造成某一分区的丢失。分区表的第四个字节为分区类型值,正常的可引导的基本DOS分区值为06(也就是通常说的FAT16格式,现在大家都用FAT32,也就是0b),而扩展的DOS分区值是05。如果把基本DOS分区类型改了则无法启动系统,并且不能读写其中的数据。如果把06改为DOS不识别的类型,则DOS认为这个分区不是DOS分区,无法读写,
分区表中还有其它数据用于记录分区的起始或终止地址。这些数据的损坏将造成该分区的混乱或丢失,一般无法进行手工恢复,我们可以用备份的分区表数据重新写回,或者从其它相同类型并且分区状况相同的硬盘上获取分区表数据,否则将导致其它的数据永久的丢失。在对主引导扇区进行操作时,推荐用PCTOOLS9.0、NU8下的DISKEDIT等工具软件来修复,操作方便,可直接对硬盘主引导扇区进行读写或编辑。
如果实在找不到相同的分区表,而你又是用DM分区的,那么恭喜你,DM会自动把你硬盘的0柱0面1扇区的内容备份一个在0柱0面63扇区上,我们只要把这个扇区的内容拷贝到0柱0面1扇区可以用了,跟以前一样的。如果这个备份万一被病毒给破坏了,那我们再用DISKMAN这个工具软件来试一试恢复,它有自动和手动两种修复模式,如果我们知道分区的大小,可以用手动模式,否则用自动模式(自动模式可能搜索到很多不对的分区模式,你自己要会判断哟,最好先把修改前的分区表备份,万一恢复有误,还可以恢复故障时的样式,不至于越修越坏。
篇3:硬盘MBR读取错误的解决
硬盘,在BIOS里正常识别,但是用低格软件和Winxp 格式化功能都不行,提示:MBR读取错误,应该是引导扇区读不出来了.
请用以下方法解决:
方法1:首先用光驱引导或者用软驱进入纯dos模式,再用 fdisk /mbr 命令恢复系统固有的主引导程序
方法2:用xp安装盘,进入恢复控制台, fixmbr x:
方法3:WinXP以上系统使用Diskpart命令里面的Clean擦出MBR
篇4:硬盘“逻辑锁”的解决方法
“硬盘逻辑锁”是一种很常见的恶作剧手段,中了“逻辑锁”之后,无论使用什么设备都不能正常引导系统,甚至是软盘、光驱、挂双硬盘都一样没有任何作用,
“逻辑锁”的上锁原理:计算机在引导DOS系统时将会搜索所有逻辑盘的顺序,当DOS被引导时,首先要去找主引导扇区的分区表信息,然后查找各扩展分区的逻辑盘。“逻辑锁”修改了正常的主引导分区记录,将扩展分区的第一个逻辑盘指向自己,使得DOS在启动时查找到第一个逻辑盘后,查找下个逻辑盘总是找到自己,这样一来就形成了死循环。
给“逻辑锁”解锁比较容易的方法是“热拔插”硬盘电源:在系统启动时,先不给被锁的硬盘加电,启动完成后再给硬盘“热插”上电源线,这样系统就可以正常控制硬盘了。不过这种方法非常危险,容易损坏硬盘。为了降低危险程度,这里介绍几种比较简单和安全的方法,来解决“逻辑锁”故障。
(1)准备一张启动软盘,在其他运行正常的计算机上使用二进制编辑工具(如UltraEdit)修改软盘上的IO.SYS文件,
在修改前,要先取消该文件的隐藏、只读、系统等属性,具体方法是在这个文件里面搜索第一个55AA字符串,将它修改为任何其他数值即可。用这张修改过的系统软盘就可以顺利地带着被锁的硬盘启动了。不过由于此时该硬盘正常的分区表已经被破坏,无法用Fdisk来删除和修改分区,但可以用Diskman等软件恢复或重建分区。
(2)可以使用工具软件DM(Disk Manager)。因为DM是不依赖于主板BIOS来识别硬盘的硬盘工具,就算在主板BIOS中将硬盘设为None,DM也可识别硬盘并进行分区和格式化等操作,所以也可以利用DM软件为硬盘解锁。
首先将DM复制到一张系统盘上,接上被锁的硬盘后开机,按Del键进入BIOS设置,将所有IDE接口设为None,保存退出,然后用软盘启动系统到DOS状态下,系统即可“带锁”启动,因为此时系统根本就等于没有硬盘。启动后运行DM,会发现DM可以识别出硬盘,选中该硬盘进行分区格式化就可以了。这种方法简单方便,但是有一个致命的缺点,就是硬盘上的数据将会全部丢失。
篇5:硬盘常见故障解决方法
做为PC电脑中唯一的存储设备,硬盘出现故障的机率并不大,但由于硬盘中存有大量的数据,一旦硬盘出现故障,如果处理不慎,则很可能造成相当严重的后果。一般而言,硬盘的故障分为软性故障与硬件故障两大类。软故障一般是由于误操作、受病毒破坏等原因造成的,硬盘的盘片与盘体均没有任何的问题,我们仅需要一些工具和软件即可以修复。而硬件故障发生后,处理起来就相对比较麻烦了。
所谓的硬故障即硬盘物理性故障,是由于硬盘的机械零件或电子元器件物理性损坏而引起。机械零件与电子元器件出现故障的机率并不大,硬盘常见的硬故障是出现坏道,其中最为严重的特例表现为零磁道损坏。我们知道硬盘的坏道又分为逻辑坏道和物理坏道。硬盘的逻辑坏道为逻辑性故障,通常为软件操作或使用不当造成的,可利用软件或者直接高格即可修复。
硬盘的物理坏道为物理性故障,表明您的硬盘磁道产生了物理损伤,是无法用软件或者高格来修复的,只能通过更改或隐藏硬盘扇区来解决。逻辑坏道对硬盘影响不大,对做好备份者而言,最多就只是重装系统而已。而物理坏道则不同,是具有“传染性”的,一旦发现物理坏道就表示你硬盘有严重质量问题或者硬盘寿命快到了,应赶紧做好备份工作,以避免宝贵资料的损失。
说是这么说,不过硬盘坏道是电脑的隐性故障,很难直观判断。其实,我们在运行程序或者复制文件的时候,经常出现错误或者一个文件读取很长时间,而且在硬盘运行的时候有些不正常的噪音,发现这样情况的我们应该留个心眼,准备做好硬盘备份工作。当我们format(高格)硬盘时候,停止不前然后报错无法完成,对硬盘执行FDISK时候无法进行顺利,这样我们确定硬盘出现坏道。
对于硬盘出现的物理坏道,怕于其具有“传染性”,所以我们要将其单独分为一个区并隐藏起来,让磁头不再去读它,这样可在一定程度上令您的硬盘延长使用寿命。首先,用PartitionMagic、DiskManager等磁盘软件扫描磁盘,计算出坏簇在硬盘上的位置,然后将其全部格式化,在“操作”菜单下选择“高级/坏扇区重新测试”,把坏簇所在硬盘分成多个区后,再利用“操作”菜单下选择“高级/隐藏分区”把坏簇所在的分区隐藏。
当然,以上这些仅是对于硬盘盘片上的其它磁道,如果硬盘的零磁道损坏,则是十分严重的硬盘故障,一般要修复是不大可能,其直接宣布了硬盘的报废,
不过对于硬盘0扇区损坏的情况,虽然比较棘手,但也不是无可救药的。基本思路是合理运用一些磁盘软件,把损坏的0扇区屏蔽掉,而用1扇区来取代,这样的话就有可能将其复活。
试试使用PCTOOLS 9.0中的DE。运行DE打开Select菜单,这时会出现Partition Table,选中并进入,之后出现硬盘分区表信息,分区就是C盘,该分区是从硬盘的0柱面开始的,那么,将1分区的Beginning Cylinder的0改成1就可以了。保存后退出。 重新启动,按Delete键进入回COMS设置,进行“IDE AUTO DETECT”,最后保存退出,重新分区格式化即可能修复。
不单是PCTOOLS,使用诺顿NU工具亦可以。进入NU 8.0工具包目录,运行其主程序NORTON.EXE,接着选择“磁盘编辑器Diskedit”,成功运行后选“对象Object”,选“分区表”后将硬盘的起始扇区从0面0柱1扇区改为0面1柱1扇区,然 后保存退出,格式化硬盘即可正常使用了。
如果以上方法都不能对硬盘进行修复的话,我们就要考虑“低格”了。所谓“低格”是指对一块裸盘进行划分磁道和扇区、标注地址信息、设置交叉因子、修复逻辑坏道等低层操作。而“高格”是将做清除硬盘上的数据,生成BOOT区信息,初始化FAT表,标注逻辑坏道等工作。
对于有坏道的硬盘,“低格”是没办法中的办法,“穷途末路”时候才用的。其对硬盘有害无益,加速硬盘的磨损不止,还会令坏道蔓延的更快,加快硬盘的死亡。若实在需要进行低格,应尽量采用厂家专用的低格程序。另外“低格”的过程进行得很慢,若中途出现掉电死机等意外情况,将会造成非常严重的后果。所以一量硬盘出现了物理坏道,我们一定要随时做好备份工作,已防止硬盘突然间严重损坏无法修复后的数据丢失。
除了硬盘坏道以外,硬盘盘体上的电路板也是易发生故障的部分。这些故障的直接原因一般是由于静电电击所造成的,因此我们在接触硬盘的时候,一定不要用手直接接触硬盘盘体上的电路板,要彻底放掉身上所带的静电之后再折装硬盘。当然,如果电子板损坏,那么靠我们自己是无法解决的,这时候就需要到专业的维修处进行维修,切不可自己动手折开电路板。
篇6:硬盘的物理结构Unix系统
硬盘的物理结构 硬盘的物理结构硬盘是现在计算机上最常用的存储器,我们都知道,计算机之所以神奇,是因为它具有高速分析处理数据的能力。而这些数据都被以文件的形式存储在硬盘里。不过,计算机可不像人那么聪明。在读取相应的文件时,你必须要给出它相应的
硬盘的物理结构硬盘的物理结构硬盘是现在计算机上最常用的存储器。我们都知道,计算机之所以神奇,是因为它具有高速分析处理数据的能力。而这些数据都被以文件的形式存储在硬盘里。不过,计算机可不像人那么聪明。在读取相应的文件时,你必须要给出它相应的规则。这就是分区概念的形成。 分区从实质上说就是对硬盘的一种格式化。当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即MasterBootRecord,一般简称为MBR)和引导记录备份的存放位置。而对于文件系统以及其他操作系统管理硬盘所需要的信息则是通过之后的高级格式化,即Format命令来实现。 硬盘分区后,将会被划分为面、磁道和扇区。需要注意的是,这些只是个虚拟的概念,并不是真正在硬盘上划道子^_^。先从面说起,硬盘一般是由一片或几片圆形薄膜叠加而成。我们所说,每个圆形薄膜都有两个“面”(Side),这两个面都是用来存储数据的。按照面的多少,依次称为0面、1面、2面……由于每个面都专有一个读写磁头,也常用0头(head)、1头……称之。按照硬盘容量和规格的不同,硬盘面数(或头数)也不一定相同,少的只有2面,多的可达数十面。各面上磁道号相同的磁道合起来,称为一个柱面(cylinder)。 上面我们提到了磁道的概念。那么究竟何为磁道呢?大家都知道,读写硬盘时,磁头依靠磁盘的高速旋转引起的空气动力效应悬浮在盘面上,与盘面的距离不到1微米(约为头发直径的百分之一)。由于磁盘是旋转的,则连续写入的数据是排列在一个圆周上的。我们称这样的圆周为一个磁道(Track)。如果读写磁头沿着圆形薄膜的半径方向移动一段距离,以后写入的数据又排列在另外一个磁道上。 根据硬盘规格的不同,磁道数可以从几百到数千不等;一个磁道上可以容纳数KB的数据,而主机读写时往往并不需要一次读写那么多,于是,磁道又被划分成若干段,每段称为一个扇区(Sector)。一个扇区一般存放512字节的数据。扇区也需要编号,同一磁道中的扇区,分别称为1扇区,2扇区。。。。这里需要注意的是,硬盘在划分扇区时,和一般的软盘有一定的区别。软盘的一个磁道中,扇区号依次编排,即2号与1号相邻,3号与2号相邻,以此类推。而在硬盘的一个磁道中,扇区号是按照某个间隔跳跃着编排的。我们举一个例子来说明:在某个硬盘上,以实际存储位置而论,2号扇区并不是1号扇区后的第一个,而是第5个,3号扇区又是2号扇区后的第5个,以此类推。这个“5”就是我们说的交叉因子。当然,这个交叉因子的设定并不是绝对的,每个种类的硬盘为根据自身的情况加以变化。选择适当的交叉因子,可使硬盘驱动器读写扇区的速度与硬盘的旋转速度相匹配,提高存储数据的速度。 计算机对硬盘的读写,处于效率的考虑,是以扇区为基本单位的。即使计算机只需要硬盘上存储的某个字节,也必须一次把这个字节所在的扇区中的512字节全部读入内存,再使用所需的那个字节。不过,在上文中我们也提到,硬盘上面、磁道、扇区的划分表面上是看不到任何痕迹的,虽然磁头可以根据某个磁道的应有半径来对准这个磁道,但怎样才能在首尾相连的一圈扇区中找出所需要的某一扇区呢?原来,每个扇区并不仅仅是由512个字节组成的,在这些由计算机存取的数据的前、后两端,都另有一些特定的数据,这些数据构成了扇区的界限标志,标志中含有扇区的编号和其他信息。计算机就凭借着这些标志来识别扇区。 五、硬盘的数据结构 硬盘上的数据按照其不同的特点和作用大致可分为5部分:MBR区、DBR区、FAT区、DIR区和DATA区。我们来分别介绍一下: (1)MBR区 MBR(Main Boot Record),按其字面上的理解即为主引导记录区,位于整个硬盘的0磁道0柱面1扇区。不过,在总共512字节的主引导扇区中,MBR只占用了其中的446个字节(偏移0--偏移1BDH),另外的64个字节(偏移1BEH--偏移1FDH)交给了DPT(Disk Partition Table硬盘分区表)(见下表),最后两个字节“55,AA”(偏移1FEH- 偏移1FFH)是分区的结束标志。这个整体构成了硬盘的主引导扇区。主引导记录中包含了硬盘的一系列参数和一段引导程序。其中的硬盘引导程序的主要作用是检查分区表是否正确并且在系统硬件完成自检以后引导具有激活标志的分区上的操作系统,并将控制权交给启动程序。MBR是由分区程序(如Fdisk.com)所产生的,它不依赖任何操作系统,而且硬盘引导程序也是可以改变的,从而实现多系统共存。 偏移 长度 所表达的意义 0 字节 分区状态:如0-->非活动分区 80-->活动分区 1 字节 该分区起始头(HEAD) 2 字 该分区起始扇区和起始柱面 4 字节 该分区类型:如82-->Linux Native分区 83-->Linux Swap 分区 5 字节 该分区终止头(HEAD) 6 字 该分区终止扇区和终止柱面 8 双字 该分区起始绝对分区 C 双字 该分区扇区数 下面,我们以一个实例让大家更直观地来了解主引导记录: 例:80 01 01 00 0B FE BF FC 3F 00 00 00 7E 86 BB 00 在这里我们可以看到,最前面的“80”是一个分区的激活标志,表示系统可引导;“01 01 00”表示分区开始的磁头号为01,开始的扇区号为01,开始的柱面号为00;“0B”表示分区的系统类型是FAT32,其他比较常用的有04(FAT16)、07(NTFS);“FE BF FC”表示分区结束的磁头号为254,分区结束的扇区号为63、分区结束的柱面号为764;“3F 00 00 00”表示首扇区的相对扇区号为63;“7E 86 BB 00”表示总扇区数为12289622,
(2)DBR区 DBR(Dos Boot Record)是操作系统引导记录区的意思。它通常位于硬盘的0磁道1柱面1扇区,是操作系统可以直接访问的第一个扇区,它包括一个引导程序和一个被称为BPB(BiosParameter Block)的本分区参数记录表。引导程序的主要任务是当MBR将系统控制权交给它时,判断本分区跟目录前两个文件是不是操作系统的引导文件(以DOS为例,即是Io.sys和Msdos.sys)。如果确定存在,就把其读入内存,并把控制权 交给该文件。BPB参数块记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数,分配单元的大小等重要参数。 (3)FAT区 在DBR之后的是我们比较熟悉的FAT(File Allocation Table文件分配表)区。在解释文件分配表的概念之前,我们先来谈谈簇(cluster)的概念。文件占用磁盘空间时,基本单位不是字节而是簇。簇的大小与磁盘的规格有关,一般情况下,软盘每簇是1个扇区,硬盘每簇的扇区数与硬盘的总容量大小有关,可能是4、8、16、32、64……通过上文我们已经知道,同一个文件的数据并不一定完整地存放在磁盘的一个连续的区域内,而往往会分成若干段,像一条链子一样存放。这种存储方式称为文件的链式存储。硬盘上的文件常常要进行创建、删除、增长、缩短等操作。这样操作做的越多,盘上的文件就可能被分得越零碎(每段至少是1簇)。但是,由于硬盘上保存着段与段之间的连接信息(即FAT),操作系统在读取文件时,总是能够准确地找到各段的位置并正确读出。不过,这种以簇为单位的存储法也是有其缺陷的。这主要表现在对空间的利用上。每个文件的最后一簇都有可能有未被完全利用的空间(称为尾簇空间)。一般来说,当文件个数比较多时,平均每个文件要浪费半个簇的空间。 好了,我们言归正传,为了实现文件的链式存储,硬盘上必须准确地记录哪些簇已经被文件占用,还必须为每个已经占用的簇指明存储后继内容的下一个簇的簇号,对一个文件的最后一簇,则要指明本簇无后继簇。这些都是由FAT表来保存的,表中有很多表项,每项记录一个簇的信息。 由于FAT对于文件管理的重要性,所以FAT有一个备份,即在原FAT的后面再建一个同样的FAT。初形成的FAT中所有项都标明为“未占用”,但如果磁盘有局部损坏,那么格式化程序会检测出损坏的簇,在相应的项中标为“坏簇”,以后存文件时就不会再使用这个簇了。FAT的项数与硬盘上的总簇数相当,每一项占用的字节数也要与总簇数相适应,因为其中需要存放簇号。FAT的格式有多种,最为常见和为读者所熟悉的是FAT16和FAT32,其中FAT16是指文件分配表使用16位数字,由于16位分配表最多能管理65536(即2的16次方)个簇,也就是所规定的一个硬盘分区。 由于每个簇的存储空间最大只有32KB,所以在使用FAT16管理硬盘时,每个分区的最大存储容量只有(65536×32 KB)即2048MB,也就是我们常说的2G。现在的硬盘容量是越来越大,由于FAT16对硬盘分区的容量限制,所以当硬盘容量超过2G之后,用户只能将硬盘划分成多个2G的分区后才能正常使用,为此微软公司从Windows95 OSR2版本开始使用FAT32标准,即使用32位的文件分配表来管理硬盘文件,这样系统就能为文件分配多达4294967296(即2的32次方)个簇,所以在簇同样为32KB时每个分区容量最大可达65G以上。此外使用FAT32管理硬盘时,每个逻辑盘中的簇长度也比使用FAT16标准管理的同等容量逻辑盘小很多。由于文件存储在硬盘上占用的磁盘空间以簇为最小单位,所以某一文件即使只有几十个字节也必须占用整个簇,因此逻辑盘的簇单位容量越小越能合理利用存储空间。所以FAT32更适于大硬盘。 (4)DIR区 DIR(Directory)是根目录区,紧接着第二FAT表(即备份的FAT表)之后,记录着根目录下每个文件(目录)的起始单元,文件的属性等。定位文件位置时,操作系统根据DIR中的起始单元,结合FAT表就可以知道文件在硬盘中的具体位置和大小了。 (5)数据(DATA)区 数据区是真正意义上的数据存储的地方,位于DIR区之后,占据硬盘上的大部分数据空间。 六、硬盘的工作模式 现在主板支持三种硬盘工作模式:NORMAL、LBA和LARGE模式。 NORMAL普通模式是最早的IDE方式。在此方式下对硬盘访问时,BIOS和IDE控制器对参数不作任何转换。该模式支持的最大柱面数为1024,最大磁头数为16,最大扇区数为63,每扇区字节数为512。因此支持最大硬盘容量为:512×63×16×1024=528MB。在此模式下即使硬盘的实际物理容量更大,但可访问的硬盘空间也只能是528MB。 LBA(Logical Block Addressing)逻辑块寻址模式。这种模式所管理的硬盘空间突破了528KB的瓶颈,可达8.4GB。在LBA模式下,设置的柱面、磁头、扇区等参数并不是实际硬盘的物理参数。在访问硬盘时,由IDE控制器把由柱面、磁头、扇区等参数确定的逻辑地址转换为实际硬盘的物理地址。在LBA模式下,可设置的最大磁头数为255,其余参数与普通模式相同。由此可计算出可访问的硬盘容量为:512×63×255×1024=8.4GB。 LARGE大硬盘模式。当硬盘的柱面超过1024而又不为LBA支持时可采用此种模式。LARGE模式采取的方法是把柱面数除以2,把磁头数乘以2,其结果总容量不变。例如,在NORMAL模式下柱面数为1220,磁头数为16,进入LARGE模式则柱面数为610,磁头数为32。这样在DOS看来柱面数小于1024,即可正常工作。目前基本上只有LBA有实际意义了。
原文转自:http://www.ltesting.net
篇7:硬盘维修
一、系统不认硬盘
系统从硬盘无法启动,从A盘启动也无法进入C盘,使用CMOS中的自动监测功能也无法发现硬盘的存在这种故障大都呈现在连接电缆或IDE端口上,硬盘自身故障的可能性不大,可通过重新插接硬盘电缆或者改换IDE口及电缆等进行替换试验,就会很快发现故障的所在如果新接上的硬盘也不被接受,一个常见的原因就是硬盘上的主从跳线,如果一条IDE硬盘线上接两个硬盘设备,就要分清楚主从关系,
二、CMOS引起的故障
CMOS中的硬盘类型正确与否直接影响硬盘的正常使用。现在机器都支持“IDE A uto Detect功能,可自动检测硬盘的类型。当硬盘类型错误时,有时干脆无法启动系统,有时能够启动,但会发生读写错误。比方CMOS中的硬盘类型小于实际的硬盘容量,则硬盘后面的扇区将无法读写,如果是多分区状态则个别分区将丢失。还有一个重要的故障原因,由于目前的IDE都支持逻辑参数类型,硬盘可采用“NormalLBA Larg等,如果在一般的模式下安装了数据,而又在CMOS中改为其它模式,则会发生硬盘的读写错误故障,因为其映射关系已经改变,将无法读取原来的正确硬盘位置。
三、主引导程序引起的启动故障
主引导程序位于硬盘的主引导扇区,主要用于检测硬盘分区的正确性,并确定活动分区,负责把引导权移交给活动分区的DOS或其他操作系统。此段顺序损坏将无法从硬盘引导,但从软驱或光驱启动之后可对硬盘进行读写。修复此故障的方法较为简单,使用高版本DOSFDISK最为方便,当带参数/mbr运行时,将直接更换(重写)硬盘的主引导程序。实际上硬盘的主引导扇区正是此程序建立的FDISK.EXE之中包括有完整的硬盘主引导程序。虽然DOS版本不时更新,但硬盘的主引导程序一直没有变化,从DOS 3.xWindos 95DOS只要找到一种DOS引导盘启动系统并运行此程序即可修复。
四、分区表错误引发的启动故障
分区表错误是硬盘的严重错误,不同的错误水平会造成不同的损失。如果是没有活动分区标志,则计算机无法启动。但从软驱或光驱引导系统后可对硬盘读写,可通过FDISK重置活动分区进行修复。
如果是某一分区类型错误,可造成某一分区的丢失。分区表的第四个字节为分区类型值,正常的可引导的大于32MB基本DOS分区值为06而扩展的DOS分区值是05很多人利用此类型值实现单个分区的加密技术,恢复原来的正确类型值即可使该分区恢复正常。
分区表中还有其它数据用于记录分区的起始或终止地址。这些数据的损坏将造成该分区的混乱或丢失,可用的方法是用备份的分区表数据重新写回,或者从其它相同类型的并且分区状况相同的硬盘上获取分区表数据。
恢复的工具可采用NU等工具软件,操作非常方便。当然也可采用DEBUG进行操作,但操作繁琐并且具有一定的风险。
五、分区有效标志错误的故障
硬盘主引导扇区中还存在一个重要的局部,那就是其最后的两个字节:55aa此字节为扇区的有效标志。当从硬盘、软盘或光盘启动时,将检测这两个字节,如果存在则认为有硬盘存在否则将不承认硬盘,
此处可用于整个硬盘的加密技术,可采用DEBUG方法进行恢复处置。另外,当DOS引导扇区无引导标志时,系统启动将显示为:Mmissing Operating System方便的方法是使用下面的DOS系统通用的修复方法。 六、DOS引导系统引起的启动故障
DOS引导系统主要由DOS引导扇区和DOS系统文件组成。系统文件主要包括IO.SYSMSDOS.SYSCOMMA ND.COM其中COMMA ND.COMDOS外壳文件,可用其它同类文件替换,但缺省状态下是DOS启动的必备文件。Windows 95携带的DOS系统中,MSDOS.SYS一个文本文件,启动Window必需的文件,但只启动DOS时可不用此文件。DOS引导出错时,可从软盘或光盘引导系统后使用SYS C:命令传送系统,即可修复故障,包括引导扇区及系统文件都可自动修复到正常状态。
七、FA T表引起的读写故障
FA T表记录着硬盘数据的存储地址,每一个文件都有一组FA T链指定其存放的簇地址。FA T表的损坏意味着文件内容的丢失。庆幸的DOS系统自身提供了两个FA T表,如果目前使用的FA T表损坏,可用第二个进行覆盖修复。但由于不同规格的磁盘其FA T表的长度及第二个FA T表的地址也是不固定的所以修复时必需正确查找其正确位置,一些工具软件如NU等本身具有这样的修复功能,使用也非常的方便。采用DEBUG也可实现这种操作,即采用其m命令把第二个FA T表移到第一个表处即可。如果第二个FA T表也损坏了则也无法把硬盘恢复到原来的状态,但文件的数据仍然存放在硬盘的数据区中,可采用CHKDSK或SCA NDISK命令进行修复,最终得到*.CHK文件,这便是丢失FA T链的扇区数据。如果是文本文件则可从中提取出完整的或部分的文件内容。
八、目录表损坏引起的引导故障
目录表记录着硬盘中文件的文件名等数据,其中最重要的一项是该文件的起始簇号。目录表由于没有自动备份功能,所以如果目录损坏将丢失大量的文件。一种减少损失的方法也是采用CHKDSK或SCA NDISK顺序恢复的方法,从硬盘中搜索出*.CHK文件,由于目录表损坏时仅是首簇号丢失,每一个*..CHK文件即是一个完整的文件,把其改为原来的名字即可恢复大多数文件。
九、误删除分区时数据的恢复
当用FDISK删除了硬盘分区之后,外表上是硬盘中的数据已经完全消失,未格式化时进入硬盘会显示为无效驱动器。如果了解FDISK工作原理,就会知道FDISK只是重新改写了硬盘的主引导扇区(0面0道1扇区)中的内容,具体说就是删除了硬盘分区表信息,而硬盘中的任何分区的数据均没有改变。可仿照上述的分区表错误的修复方法,即想方法恢复分区表数据即可恢复原来的分区及数据。如果已经对分区格式化,先恢复分区后,可按下面的方法恢复分区数据。
十、误格式化硬盘数据的恢复
DOS高版本状态下,formA T格式化操作在缺省状态下都建立了用于恢复格式化的磁盘信息,实际上是把磁盘的DOS引导扇区、FA T分区表及目录表的所有内容复制到磁盘的最后几个扇区中(因为后面的扇区很少使用)而数据区中的内容根本没有改变。这样通过运行UNformA T命令即可恢复。另外DOS还提供了一个MIROR命令用于记录当前磁盘的信息,供格式化或删除之后的恢复使用,此方法也比较有效。(
篇8:硬盘损坏
硬盘故障排除实例
本节介绍硬盘的常见故障及维修实例,
硬盘启动故障
硬盘启动故障一般在启动机器时出现,这种故障有可能是系统本身的原因造成的,也可能是由病毒引起的,
本节介绍由于系统自身原因导致的硬盘引导故障。
出错信息为:HDD controller failure(硬盘驱动器控制失败)。
分 析
这是启动机器时,由POST程序向驱动器发出寻道命令后,驱动器在规定时间内没有完成操作而产生的超时错误。出现这种错误,有可能硬盘已经损坏了。
篇9:硬盘解锁
不知道你是否曾碰到过从软盘和硬盘都启动不了计算机的情形?一般计算机的硬盘分区表被病毒感染后,若不能启动机子,通常从软盘可以启动,但在严重的情形下,不但从硬盘不能启动机子,就是从软盘也不能启动。有的恶毒的病毒就能使硬盘被死锁。笔者一次在自己机子上玩弄硬盘锁时,就被锁住过一次。结果在硬盘下选择DOS或WIN95模式启动机子都死机,在软盘下用DOS启动也死机;在COMS中将硬盘类型选择None,虽然可以从软盘启动,但启动后没有硬盘,使用软盘上的FDISK命令,想重新分区或格式化都没门。弄得我一筹莫展。
本来,硬盘被锁住时,可以采用3.0以下的DOS版本启动机子,机子启动后虽然也不认硬盘,但其不认的原因在于其管理不了现在的大硬盘,因此可以用Debug修改硬盘分区表,修改后可以启动。但在已进入WINDOWS的年代,3.0以下的DOS实难找到,即使找到,你的机子上恐怕也因没有5寸软驱而不能使用。因此,最好的办法是编制一个程序来解决这个问题。笔者通过尝试和思考,找到一种比较实用的方法,可以轻松解开死锁的硬盘,当然也把自己的硬盘解开了。下面,我将这种方法介绍出来。
二·硬盘锁住原理
硬盘锁住通常是对硬盘的分区表做手脚,因此首先应该了解硬盘的分区表。硬盘分区表位于0柱面0磁头1扇区,这个扇区的前面200多个字节是主引导程序,后面从01BEH开始的64个字节是分区表。分区表共64字节,分为4栏,每栏16字节,用来描述一个分区。如果是用DOS的FDISK程序分区后,最多只用两栏,第一栏描述基本的DOS分区,第二栏描述扩展的DOS分区。
分区表一栏的结构与各字节的含义如下:
00H—标志活动字节,活动DOS分区为80H,其它为00H。
01H—本分区逻辑0扇区所在的磁头号。
02H—逻辑0扇区所在柱面中的扇区号。
03H—逻辑0扇区所在的柱面号。
04H—分区类型标志。
05H—本分区最后一个扇区的磁头号。
06H—最后一个扇区的扇区号。
07H—最后一个柱面的柱面号。
08H—硬盘上在本分区之前的扇区总数,用双字表示。
0CH—本分区的扇区总数,从逻辑0扇区计数,不含隐藏扇区,用双字表示。
在上面的介绍中给出的柱面号与扇区号虽然各占一个字节,但实际上扇区号用6位表示,柱面号用10位表示,扇区号所在字节的最高两位实际上是柱面号的最高两位。
分区表的最后两个字节是分区表的有效标志,如果将其改变,将不能从硬盘启动,这是一种简单的锁住硬盘的方法。解决的办法是从软盘启动,启动后硬盘仍然可以使用。用Debug或Noratn中的Diskedit软件将硬盘该分区表中的标志恢复,则从硬盘启动也没有问题了。锁住硬盘的另一种方法是对分区参数做手脚,如果将分区参数全部变为0,则启动时由于找不到分区参数,从硬盘是没法启动,从软盘启动后也不认硬盘,如果你敲入盘符C并回车,将出现提示Invalid driver specification。但所幸的是,毕竟可以启动机子,不认硬盘没关系,在A盘上用DOS的Debug仍然可以读出硬盘0柱面0磁头1扇区的内容,修改后再写入0柱面0磁头1扇区,重新启动机子又没问题了。如果将分区表参数随意改为其它参数,则有可能不能用可以安装DOS的DOS系统盘启动,按F3退出后将出现内存分配错误,不能装载DOS的命令解释器COMMAND的提示,系统就死机了,笔者就曾碰见过这种情形。但用一张格式化成系统盘的软盘则可以顺利启动,只要有Debug,你仍然可以将分区表参数修改回去。可怕的事情是,如果你不幸将分区表参数改成一个循环链,即C盘的下一个分区指向D驱,D驱的下一个分区又指向C区,这样循环下去,DOS启动或WIN95启动时由于无休止的读取逻辑驱动器,就只有死机的份了。这是只要有硬盘存在,不管你用软盘还是硬盘都没法启动机子了,由于不能启动是由于硬盘造成的,即使你将硬盘下到其它计算机上,也没法使用,这样硬盘就彻底被锁死了,笔者所遭遇就是此情形。不信,你只需将硬盘0柱面0磁头1扇区的1D0H处改为1(如果你的D驱开始柱面号不够大,此处本来就为1),将1D1H处改为0,表示D盘的开始柱面号跟C盘一样,看看你的计算机还能不能启动,不过你在没有充分的准备前绝不要试。
一个完整的硬盘锁程序,不过是重新改写0柱面0磁头1扇区的引导程序,并将分区表破坏或故意制造一个循环分区表,而将真正的硬盘分区表参数和引导程序放在其它隐藏扇区并保护起来,如果启动时口令不对,则不能启动机子,口令对了则顺利启动。这种硬盘锁程序,情形好的还可以用软盘启动;情形严重的就是连软盘也不能启动,硬盘真被锁住。
三·解开硬盘锁的程序法
如果硬盘被锁死,是否真的就无法解开呢?当然不是。看看问题的症结所在,根源在于DOS中的IO.SYS文件,它包含LOADER、IO1、IO2、IO3四个模块,其中IO1中包含有一个很关键的程序SysInt_I,它在启动中很固执,非要去读分区表,而且不把分区表读完誓不罢休。如果碰上分区表是循环的,它就只有死机了。这是DOS的脆弱性和不完备性。其实这也不能怪DOS,因为DOS为了获得硬盘使用权,就必需读分区表参数,而且DOS还约定驱动器号不能超过26,只不过没有考虑到此等循环分区表情形。一句话,机子不能启动不过是DOS操作系统造成的,如果另写一个操作系统,或许就能启动机子。当然这只是说个笑话。
明白了病因在于DOS,问题就好办了。DOS启动中不是要读硬盘分区表吗?我不让你读分区表甚至连硬盘都不让你读,不就可以顺利启动了。的确是这样的,解开硬盘锁的程序实现方法就是基于这个思想形成的。当然,这只有从软盘启动着手了。
看看计算机的启动过程,上电首先进行的多项硬件自测跟我们没有关系,我们关心的只是它最开始和磁盘打交道时是干什么。如果选择从硬盘启动,则计算机和磁盘最开始打交道是将硬盘0柱面0磁头1扇区的内容读入内存0000:7C00处并跳到0000:7C00处执行;如果选择从软盘启动,则计算机和磁盘最开始打交道是将A盘0磁道0磁头1扇区的内容读入内存0000:7C00处并跳到0000:7C00处执行,在执行过程中,计算机并不检查该扇区的内容是什么,只机械地执行读命令,这使得许多系统型病毒得以生存。但利用这一点,恰恰使我们的程序解锁法有了用武之地。如果我们用DOS格式化一张可以启动机子的系统软盘,将该软盘的0磁道0磁头1扇区的内容移到后面的空白扇区中,而重新写一段程序到该软盘的0磁道0磁头1扇区,这样用软盘启动时首先执行的是我们所写的程序了。在这段程序中,具备这样一些功能:在DOS启动前抢先拦截INT 13H,驻留高端内存并监视INT 13H,判断是否读硬盘,如果是读硬盘就直接返回,这样就禁止了读硬盘,也就避免了DOS读硬盘循环分区表造成的死机;同时拦截对软盘的读取,如果读软盘的0磁道0磁头1扇区,就改成读真正有引导程序和磁盘参数表的扇区,免得DOS在启动中找不到软盘的磁盘参数表而死机。完成这些任务的同时,还要读取软盘真正的引导程序并把控制权交给它。
该方法可以称为万能的,因为它在用软盘启动中,始终不与硬盘打交道,这样不管你硬盘用什么方法加锁了,对DOS的启动都没有影响。当然,这样启动的机子是不认硬盘的,但这没有关系。你可在机子启动后,用Debug调出驻留高端内存的新INT 13H程序,将其改为只有一条直接执行旧INT 13H的语句,这样在Debug下可以用INT 13H读取硬盘0柱面0磁头1扇区的内容,如果你有备份,将分区表参数恢复后再写入0柱面0磁头1扇区,重新启动计算机就可以了。如果实在没有备份,去掉分区表中的循环链,用正常DOS启动盘重启机子后至少也可以重新对硬盘分区,不至于硬盘被锁住打不开了。
四·程序及说明
1·下面是写入软盘0磁道0头1扇区的源程序key.com,程序用debug输入。
C>debug
-a100
100 CLI
101 XOR AX,AX
103 MOV DS,AX
105 MOV ES,AX
107 MOV SS,AX
109 MOV AX,7C00
10C MOV SP,AX
10E STI
10F MOV SI,AX
111 MOV DI,7E00
114 CLD
115 MOV CX,0200
118 REPNZ
119 MOVSB
11A JMP 0000:7E1F
11F MOV CX,0003
122 PUSH CX
123 MOV AX,0201;读启动软盘的引导扇区
126 MOV BX,7C00
129 MOV CX,4F01
12C MOV DX,0100
12F INT 13
131 POP CX
132 DEC CX
133 JNZ 0122
135 MOV AX,[004C];抢先获取INT 13H的位置
138 MOV [7E88],AX
13B MOV AX,[004E]
13E MOV [7E8A],AX
141 MOV AX,[0413]
144 DEC AX
145 MOV [0413],AX
148 MOV CL,06
14A SHL AX,CL
14C MOV ES,AX
14E XOR AX,AX
150 MOV DS,AX
152 MOV SI,7E6D;复制改写的INT 13H程序到高端内存
155 MOV DI,0000
158 MOV CX,0030
15B REPNZ
015C MOVSB
015D MOV AX,0000;将新INT 13H位置写入中断向量表
0160 MOV [004C],AX
0163 MOV AX,ES
0165 MOV [004E],AX
0168 JMP 0000:7C00
016D PUSHF;新INT 13H程序
016E CMP DX,0080;是否是硬盘
0172 JNZ 0176;不是硬盘则继续
0174 POPF
0175 IRET;是硬盘则直接返回
0176 CMP DX,+00;是否读软盘BOOT区?
0179 JNZ 0186
017B CMP CX,+01
017E JNZ 0186
0180 MOV CX,4F01;是则读79磁道1磁头1扇区
0183 MOV DX,0100
0186 POPF
0187 JMP 0000:0000;此处跳转去执行旧INT 13,
;旧INT 13H的位置由前面程序获得后写入,
N key.com
RCX
200
W
Q
2·程序的装载
在进行下面工作前,先用DOS格式化一张启动的系统盘,并保证没有坏扇区,最好进行启动测试,确保其可以启动机子。由于现在机子上大多只有3寸软驱,因此选择1.44M的3.5寸软盘。然后用debug key.com将程序key.com调入内存偏移地址为100H,同时在400H处写入一段装载程序。即:
C>debug key.com
-a400
400 MOV CX,0003
403 PUSH CX
404 MOV AX,0201;将A盘引导程序读入内存1000H处
407 MOV BX,1000;为确保成功,首次采用重复读3次
40A MOV CX,0001
40D MOV DX,0000
410 INT 13
412 POP CX
413 DEC CX
414 JNZ 0403
416 MOV AX,0301;将已读入内存的软盘引导程序写入软盘
419 MOV BX,1000;最后一个磁道的首扇区
41C MOV CX,4F01
41F MOV DX,0100
422 INT 13
424 MOV AX,0301;将key.com程序写入软盘0磁道0磁头1扇区
427 MOV BX,0100
42A MOV CX,0001
42D MOV DX,0000
430 INT 13
432 INT 3
为保证万无一失,最好将软盘这两个扇区的内容重新读出来看一看,以保证写成功了。做好这一切,保险的还是进行一次测试,即用该软盘启动一次机子,看能否成功,若成功启动,你就可以用循环分区表法锁住硬盘,看从正常DOS下能否启动,然后再用此软盘启动机子试试,看看功效如何?
从该软盘启动后,不认硬盘,并且在高端内存驻留了新INT 13H程序,该段程序实际上是key.com中从16D到187部分。由于有此段程序存在,在debug下也无法读硬盘,也就没法恢复硬盘分区表,因此机子启动后首先应修改这段程序。现在的机子基本内存通常都为640K,这样这段程序就位于内存中9FC0:0000处,在debug下,用U9FC0:0显示这段程序,可以看到位于9FC0:001A处是一条跳转指令,该跳转指令即转去执行最原始的INT 13H。由于BIOS版本不一样,跳转指令指向的位置可能不一样,如笔者机子上是一条JMP F000:A5D4语句。这时在在debug下编写这样一语句:a9FC0:0 JMP F000:A5D4。这样,对硬盘的禁写与禁读都不再起作用了,在debug下用INT 13H的2号子功能可以读出硬盘分区表,修改恢复后再用3号子功能将数据写回分区表。退出debug,重新用正常DOS启动计算机,就可以了。
附带提一下,在正常DOS下,该软盘由于没有BOOT区,也就没有磁盘参数表,从而不能使用,用DIR A:命令会出现General failure reading drive A提示。不要理睬它,这并不影响它作特殊启动盘。
五·建议
为更好的保护你的硬盘,笔者建议你最好将你的硬盘分区表信息备份起来。备份有两种方式,一种是以文件形式将硬盘每个逻辑盘的分区信息存储起来;另另一种是将分区信息备份在硬盘隐藏扇区里。比如可以将0柱面0磁头1扇区备份在0柱面0磁头3扇区,将D盘开始柱面号0磁头1扇区备份在该柱面0磁头3扇区,其它逻辑盘也如此。这种方法简单、方便,也很可靠。用NORTAN中的DISKEDI很容易操作和实现。有了备份分区表信息,就不怕破坏分区表的病毒了;再加上我给你的程序,即使有人真锁住了你的硬盘,你也可以轻而易举解开了。
★ 机械组装实习报告
★ 实习体会心得
【硬盘结构及硬盘错误的解决方法(共9篇)】相关文章:
导致硬盘故障的原因2022-05-23
电脑网络基础知识2022-12-26
个人电脑的基本维护常识2023-08-19
电脑硬盘报警出错2023-05-31
《电脑组装与维护》教学的思考2023-05-30
《计算机组装与维修》说课稿2022-06-22
“引导自学”型课堂教学教案2023-04-01
分析系统死机的14个问题2023-08-28
计算机组装毕业论文2023-01-29
生产实习总结2022-08-04