发信人: znw()
整理人: smallhors(1999-09-27 19:57:45), 站内信件
|
硬盘复活之术
硬盘中可能存储着大量有用数据, 如果硬盘突然出现 故障, 不能启动或者无法读取, 这也许预示着一场灾难, 此时如何恢复硬盘的完好, 保存硬盘中的有用数据, 是维 护者的首要任务, 合理有效的操作, 将会避免灾难或者把 损失降到最小限度。 一、硬盘常见故障及解决办法 1.系统不承认硬盘: 此类故障比较常见, 即从硬盘无 法启动, 从A 盘启动也无法转入C 盘, 使用CMOS中的自动 检测功能无法发现硬盘的存在, 这种故障大都出现在连接 电缆或IDE 口端口上, 硬盘本身的故障率很少, 可通过重 新插拔硬盘电缆或者改换IDE 口及电缆等进行替换试验, 可很快发现故障所在; 如果你是新接上的硬盘不承认, 还 有一个常见的原因就是硬盘上的主从跳线, 如果硬盘接在 IDE 的主盘位置, 则硬盘必须跳为主盘状态, 跳线错误一 般无法检测到硬盘, 比如昆腾(uantum)1.2G硬盘通过JP1 进行设置, 其共有四组跳线(PK CS DS SP),当DS短接其它 断开时为主状态, 而SP短接其它断开时为从状态, 其它硬 盘也都具有类似的跳线控制。 2.CMOS引起的故障: CMOS的正确与否直接影响硬盘的 正常使用, 这里主要指其中的硬盘类型, 好在现在的机器 都支持"IDE AUTO DETECT"功能, 可自动检测出硬盘类型, 当你连接新的硬盘或者更换硬盘之后都要通过此功能进行 重新设置类型, 当硬盘类型错误时, 有时干脆无法启动系 统, 有时能够启动, 但会发生读写错误, 比如CMOS中的硬 盘类型小于实际硬盘容量, 则硬盘后面的扇区将无法读写, 如果是多分区状态则个别分区丢失; 还有一个重要的故障 原因, 由于目前的IDE 都支持逻辑参数类型, 硬盘可采用 NORMAL(普通模式)、LBA(逻辑块模式、LARGE(巨大模式) 等,如果在一般模式下安装了数据, 而又在CMOS中改为其 它模式, 则会发生硬盘的读写故障, 因为其物理地址的映 射关系已经改变, 将无法读取原来的正确硬盘位置。 3.主引导程序引起的启动故障: 硬盘的主引导扇区是 硬盘中最为敏感的一个部件, 其中主引导程序是它的一部 分, 此段程序主要用于检测硬盘分区的正确性, 并确定活 动分区, 负责把引导权移交给活动分区的DOS 或其它操作 系统, 此段程序损坏将无法从硬盘引导, 但从软驱或光驱 之后可对硬盘进行读写; 修复此故障的方法较为简单, 使 用高版本DOS 的FDISK 最为方便, 当带参数/MBR运行时, 将直接更换(重写)硬盘的主引导程序, 实际上硬盘的主引 导扇区正是此程序所建立的,FDISK.EXE之中包含有完整的 硬盘主引导程序, 虽然DOS 版本不断更新, 但硬盘的主引 导程序一直没有变化, 从DOS 3.X到目前有WINDOWS 95的 DOS , 所以只要找到一种DOS 引导盘启动系统并运行此程 序即可修复, 另外象KV300等其它工具软件也具有此功能。 4.分区表错误引导的启动故障: 分区表损坏是硬盘的 严重错误, 适错误的程度会造成不同的损失; 如果是没有 活动分区标志, 则计算机无法启动, 但从软驱或光驱引导 系统后可对硬盘读写, 可通过FDISK 程序重置活动分区进 行修复; 如果是某一个分区类型错误, 可造成某一个分区 丢失, 分区表的第四个字节(从零数起)为分区类型值, 正 常的可引导的大于32M 的基本DOS 分区类型值为06, 而扩 展DOS 分区类型值为05, 如果把基本DOS 分区类型改为05 则无法启动系统, 并且不能读写其中的数据, 如果把06改 为DOS 不识别的类型比如EFH, 则DOS 认为该分区不是DOS 分区, 当然无法读写, 很多人利用此类型值实现单个分区 的加密之用, 恢复原来的正确类型值即可使该分区恢复正 常; 分区表中还有其它数据用于记录分区的起始或终止地 址, 这些数据损坏将造成该分区混乱或丢失, 一般无法进 行手工恢复, 唯一的办法是用备份的分区表数据重新写回, 或者从其它相同类型并且分区状态一样的硬盘上获取分区 表数据, 否则将导致其它的数据永久性挂失; 在对主引导 扇区进行操作时, 可采用NU等工具软件, 操作非常方便, 可直接对硬盘主引导扇区进行读写或编辑, 当然也可采用 DEBUG进行操作, 但操作烦琐并且具有一定的风险性,谨慎 操作为是, 下面仅演示其修改分区类型方法,把第一个DOS 分区的类型改为06(假设原为05), 完成的代码如下: C>DEBUG -A XXXX:0100 MOV AX,0201 ;读一个扇区 XXXX:0103 MOV BX,0200 ;数据存放在200H处 XXXX:0106 MOV CX,0001 ;0磁道 1扇区 XXXX:0109 MOV DX,0080 ;0磁头 硬盘驱动器 XXXX:010C INT 13 ;读扇区操作 XXXX:010E INT 3 -G=100 ;执行,如返回AH为0则读出数据正确; -E 3C2 ;第一分区为3C2,之后为3D2.3E2.3F2等; XXXX:02C2 05.06 ;修改类型值 -A 100 ;修改第一条语句 XXXX:0100 MOV AX,0301 ;改为写扇区 G=100 ;执行写盘操作 5.分区有效标志错误引起的硬盘故障: 在硬盘主引导 扇区中还存在着一个重要部分, 那就是其最后的两个字节: 55AAH, 此字为扇区的有效标志,当从硬盘、软盘或光驱启 动时, 都将检测这两个字节, 如果存在则认为有硬盘存在, 否则将不承认硬盘,此标志时从硬盘启动将转入ROM BASIC 或提示放入软盘, 从软盘启动时无法转入硬盘, 此处也可 用于整个硬盘的加密处理, 可采用上述的DEBUG 方法进行 恢复处理; 另外DOS 引导扇区仍有这样的标志存在,当DOS 引导扇区无引标志时, 系统启动将显示为: “Missing operating system”; 其修复方法可采用上述 的主引导扇区修复方法, 只是地址不同, 更方便的方法是 使用下面的DOS 系统的通用修复方法。 6.DOS 引导系统引起的启动故障: DOS 引导系统主要 由DOS 引导扇区和DOS 系统文件组成, 系统文件主要包括 IO.SYS、MSDOS.SYS及COMMAND.COM, 其中COMMAND.COM 是 DOS 的外壳文件, 可用其它的同类文件替换, 但缺省状态 下是DOS 启动的必备文件, 在WINDOWS 95携带的DOS 系统 中, MSDOS.SYS是一个文本文件,是启动WINDOWS 95必需的 文件, 但只启动DOS 时可不用此文件; 当DOS 引导出错时, 可从软盘或光盘引导系统, 之后使用"SYS C:"传送系统即 可修复故障, 包括引导扇区及系统文件都可自动恢复到正 常状态; 7.FAT 表引起的读写故障: FAT 表记录着硬盘中数据 的存储地址, 每一个文件都由一组连续的FAT 链指定其存 放的簇地址, FAT 表的损坏意味着文件内容的丢失, 庆幸 的是DOS 系统本身提供了两个FAT 表, 如果目前使用的FAT 表损坏, 可用第二个进行覆盖修复, 但由于不同规格的磁 盘其FAT 表的长度及第二个FAT 表的地址也是固定的, 所 以修复时必须正确查找其正确长度和位置, 有一些工具软 件如NU等本身具有这样的修复功能, 使用也非常方便, 采 用DEBUG 也可实现这种操作, 即采用其M命令把第二FAT表 移到第一个FAT表处即可; 如果第二个FAT 表也损坏了,那 无法把硬盘恢复到原来的状态, 但文件的数据仍然存放在 硬盘的数据区之中, 可用CHKDSK或SCANDISK命令对硬盘进 行修复, 最终得到*.CHK文件, 这便是丢失FAT链的扇区数 据, 如果是文本文件则可从中提取并可合并为完整的文件, 如果是二进制的数据文件, 则很难恢复出完整的文件。 8.目录表损坏引起的引导故障: 目录表记录着硬盘中 文件的文件名等数据, 其中最重要一项是该文件的起始簇 号; 目录表由于没有自动备份功能, 所以如果目录损坏严 重将丢失大量文件, 一种减小损失的方法也是采用上面的 CHKDSK或SCANDISK程序的方法, 从硬盘中搜索出.CHK文件, 由目录表损坏时是首簇号丢失, 在FAT 未损坏的情况下所 形成的.CHK文件一般都是比较完整的文件数据,每一个.CHK 文件即是一个完整的文件, 把其改为原来的名字可恢复大 多数文件。 9.误删除分区时数据的恢复: 当你用FDISK 删除了硬 盘分区之后, 表面现象是硬盘中的数据已经完全消失, 在 未格式化时进入硬盘会显示无效驱动器, 如果你了解FDISK 的工作原理, 就会知道, FDISK 只是重新改写了硬盘的主 引导扇区(0面0道1扇区)中的内容,具体说就是删除了硬盘 的分区表信息, 而硬盘中任何分区的数据均没有改动, 可 仿造上述的分区表错误的修复方法, 即想办法恢复分区表 数据即可恢复原来的分区及其数据, 但这只限于删除分区 或重建分区之后, 如果已经对分区用FORMAT格式化, 在先 恢复分区之后, 再按下面的方法恢复分区数据。 10.误格式化硬盘数据的恢复: 在DOS 高版状态下,格 式化操作FORMAT在缺省状态下都建立了用于恢复格式化的 磁盘信息,实际上是把磁盘的DOS 引导扇区、FAT分区表及 目录表的所有内容复制到了磁盘的最后几个扇区中( 因为 后面的扇区很少使用),而数据区中的内容根本没有改变, 这样通过运行"UNFORMAT C:" 即可恢复原来的文件分配表 及目录表, 从而完成硬盘信息的恢复; 另外DOS 还提供了 一个MIROR 命令用于记录当前磁盘信息, 供格式化或删除 之后的恢复使用, 此方法也比较有效; 如果你事先备份了 硬盘的FAT表目录表, 则可用一般的工具软件或DEBUG重新 写回原来的位置, 同样可恢复格式化的硬盘数据。 二、常规预防故障措施 1.减少或避免病毒的感染: 硬盘故障大多数是由于病 毒感染所致, 引导型病毒破坏硬盘的主引导扇区或DOS 引 导扇区, 极易导致硬盘的引导故障, 而文件型病毒则破坏 硬盘文件, 严重时就会使FAT 表或目录表发生混乱, 所以 避免病毒的感染将使硬盘故障率极大地降低, 具体上机过 程要谨慎使用来历不明的软盘或盗版的光盘, 这是病毒的 最主要来源, 再就是注意网络病毒的传播; 当发现异常情 况时要及时检测病毒, 早期发现病毒将降低硬盘损失。 2.避免误操作: 误操作也是导致硬盘故障的一个主要 原因, 尤其是在进行涉及硬盘的物理扇区操作时,必须具 有一定经验的维护人员进行, 并且要求对硬盘的结构及数 据存储格式有详细的了解, 否则改变硬盘主引导扇区或者 DOS 引导扇区, 以至于FAT 表及目录表, 将使硬盘数据面 临极大的危险; 再就是分区及格式化程序的使用, 对硬盘 进行这些操作时一般都要求输入卷标号, 所以为每个分区 设置卷标是必要的,另外通过PCTOOLS等还可以修改卷标为 小写字母或其它不可直接输入的特殊符号, 这样可有效的 禁止删除分区和格式化操作, 确实需要进行这些操作进再 改回大写字母或删除卷标即可; 对于一般用户尽量采用熟 悉的工具软件进行硬盘维护操作,而少用DEBUG等低级程序, 以免故障越修越大, 最终导致硬盘瘫痪。 3.备份系统数据: "有备而无患", 这是个真理, 在硬 盘中有许多有用数据可以备份, 比如硬盘的主引导扇区, 如果真的硬盘分区表损坏或误删除分区, 没有备份数据那 硬盘恢复的可能性极小, 反之则可百分之百的恢复; 再就 是硬盘每个分区的FAT 表及目录表, 从上面已经看出分配 表损坏或目录表损坏, 基本不可能完全恢复数据, 如果你 有备份则就不同了, 重新写回会使硬盘中的数据完好如初, 即使分区格式化都可轻而易举的恢复; 备份的数据一定要 存放在软盘之后, 放在硬盘上是没有意义的, 因为硬盘出 故障时连备份的数据也无法使用; 利用NU等工具软件可方 便的完成这些工作, 使用DEBUG则需要小心操作,下面仅给 出备份和恢复硬盘主引导扇区的DEBUG操作过程: C>DEBUG -A500 XXXX:0500 MOV AX,0201 XXXX:0503 MOV BX,0100 XXXX:0506 MOV CX,0001 XXXX:0509 MOV DX,0080 XXXX:050C INT 13 XXXX:050E INT 3 -G=500 -N BOOT.DAT -RCX CX 0000 :200 -W 之后将在当前目录形成一个512字节的BOOT.DAT文件, 可把其拷入软盘之中, 以供硬盘出现故障时使用, 恢复过 程如下,先从A驱引导系统, 然后执行下面的操作: C>DEBUG a:BOOT.DAT -A500 XXXX:0500 MOV AX,0301 XXXX:0503 MOV BX,0100 XXXX:0506 MOV CX,0001 XXXX:0509 MOV DX,0080 XXXX:050C INT 13 XXXX:050E INT 3 -G=500
-- ____ _ _ ___ _ ___ |_ /| \| | \ \/ \/ / / /_| .` | _ \ _ / /___||_|\_||_| \_/ \_/
※ 来源:.网易 BBS bbs.netease.com.[FROM: 202.98.110.208]
|
|