我在这里: 首页 » 技术杂烩 » 浏览文章: 硬盘不启动的错误现象及解决方法
« 一键ghost隐藏传说中"自家用"装备常用工具整理(长期更新) »

硬盘不启动的错误现象及解决方法

  受贵刊(《电脑爱好者》2000年)第10期的《BIOS错误信息及解决方法》的启发,我写了这篇文章,讨论电脑启动过程中另一个重要的问题:硬盘的启动。当你的电脑不启动时,希望它能给你一点儿帮助。 

一,硬盘启动过程: 

   在BIOS自检确认所有的硬件(包括硬盘)连接正确后,硬盘开始启动,以启动分区装有WIN98操作系统为例,其启动过程是:(1)根据CMOS设置的参数,硬盘将磁头定位在物理扇0柱0面1扇上,接着先后读取扇区结束标志55AAH、主引导记录MBR、硬盘分区表HDPT。(2)根据硬盘分区表提供的数据,硬盘将磁头定位在活动分区(主DOS引导分区)的引导扇上(一般为物理扇0柱1面1扇),接着先后读取扇区结束标志55AAH、操作系统参数。(3)根据操作系统参数,读取文件分配表FAT和两个隐含系统文件IO.SYS、MSDOS.SYS (4)根据CONFIG.SYS,读取COMMAND.COM,使电脑能够进入DOS的实模式,启动基本成功。(5)根据AUTOEXEC.BAT,MSDOS.SYS进一步配置WIN98,并决定进入哪一种模式,如果进入窗口模式,还要根据user.dat,system.dat,win.ini,system.ini等读取相关文件,直到桌面最终出现,启动完毕。 
这里我只讨论前4步(因为关于第5步文章太多了)。为了能够挖掘出所有错误现象,我做了一次破坏性实验(初学者不宜模仿),实验如下: 


二,我让硬盘不启动 


1.实验目的:通过模拟因病毒、Bug、误操作等原因导致的硬盘不启动的故障,总结归纳错误现象,当以后真的遇到硬盘不启动时,能积极应对。(总之一句话:危险我一个,幸福所有人^_-)。 
2.实验环境:AWARD BIOS4.51,一硬盘、一光驱都设成主盘(分别连在两个IDE数据线上),硬盘6.4G(c,d,e,f四个分区),c区安装可引导的windos98 (FAT16)系统。 
3.实验工具:诺顿(NU)8.0中文版的磁盘编辑器(DISKEDIT) 
(该软件下载网址见文尾) 
4.实验对象:六种硬盘启动时的必需因素:(1)物理连线(2)CMOS硬盘参数(3)主引导扇区(包括主引导记录和硬盘分区表)(4)主DOS引导记录(5)文件分配表(6)三个启动文件 
5.实验之前的准备:(1)备份要破坏的所有重要数据(2)格式化一张启动软盘(3)把diskedit.exe,nlib200.rtl,chin16.fnt三个文件拷到该软盘中。 
6.实验的简单过程:破坏某个要害因素――>重新启动电脑――>记录错误现象――>恢复破坏――>再破坏下一个要害因素……。如此循环往复,直到破坏完成最后一个。 
7.实验结果:经过整理后,详见下一小节 


三,硬盘不启动的故障、原因和处理 


(一) 黑屏的故障 
原因:连接硬盘一端的数据线插反(主板一端不可能插反) 
处理:将其重插(数据线的红线与电源线的红线相邻) 


(二) 显示"Primary master hard disk fail"的故障 
原因:(1)硬盘数据线、电源线两者至少有一个没插好 
(2)硬盘跳线设成从盘,而CMOS硬盘参数没做相应修改(仍然是主盘) 
处理:(1)将其插牢 
(2)重设CMOS 


(三) 无提示信息的故障 
原因:(1)CMOS硬盘参数的某些数值设置错误 
(2)主引导记录错误或丢失 
(3)主DOS引导记录第一个重要数据(每扇字节数)错误 
(4)文件分配表错误 
处理:(1)重设CMOS 
(2)用FDISK/MBR命令恢复 
(3)用DISKEDIT修复成512 
具体步骤:用软盘启动电脑,以diskedit /w /m模式运行;按Alt+P, 
将"面0"改为"面1",确认;按F7以引导记录方式查看,将"每 
扇字节数"一项的数值改成"512"。 
(4)用DISKEDIT调用第二个分配表,再用NDD修复(下载网址见文尾) 
具体步骤:用软盘启动电脑,运行diskedit;在"工具"下拉菜单 
中选择"使用第二个FAT表",退出diskedit;然后运行ndd,选择 
"诊断磁盘"项,一步一步按提示操作,直到完成。 


(四) 显示"DISK BOOT FAILURE,INSERT SYSTEM DISK AND PRESS 
ENTER"的故障 
原因:(1)硬盘,光驱连在同一条数据线上,且跳线都设成主盘(或都设成从盘) 
(2)CMOS硬盘参数设成NONE 
(3)主引导扇区结束标志55AAH错误 
处理:(1)将光驱跳线设成从盘(或硬盘跳线设成主盘) 
(2)重设CMOS 
(3)用NDD的"诊断磁盘"修复 


(五) 显示"Error Loading Operating System"的故障 
原因:硬盘分区表中的活动分区标志80H被改成00H以外的其它数值(如被 
改成FFH) 
处理:用DISKEDIT修复为80H 
具体步骤:用软盘启动电脑,以diskedit /m /w模式运行;按Alt+P, 
不做任何修改,直接回车;按F2以16进制方式查看,把000001B0 
地址行的倒数第二个16进制数值改为80。 


(六) 显示"Not Found any [ative partition] in HDD"的故障 
原因:硬盘分配表中的活动分区标志80H被改成非活动分区标志00H 
处理:用DISKEDIT修复为80H 
具体步骤:同(五) 


(七) 显示"Type the name of the command,Inter preter ……" 
原因:(1)硬盘分区表中的主DOS分区标志06H错误 
(2)command.com丢失、损坏或与其它两个启动文件版本不同 
处理:(1)用DISKEDIT修复为06H 
具体步骤:用软盘启动电脑,以diskedit /m /w模式运行;按Alt+P, 
不做任何修改,直接回车;按F2用16进制方式查看,把000001C0 
地址行的第三个16进制数值改为06。 
(2)用软盘中完好的command.com文件拷贝覆盖(注意版本要相同) 


(八) DOS下输入d:回车(e:回车,f:回车)后显示"Invalid drive specification" 
(注:该现象并不影响硬盘启动,只作参考) 
原因:(1)CMOS硬盘参数LBA被设成LARGE 
(2)硬盘分区表中的非活动分区标志00H错误 
(3)扩展DOS分区引导扇的部分数据错误 
处理:(1)重设CMOS 
(2)用DISKEDIT修复为00H 
具体步骤:用软盘启动电脑,以diskedit /m /w模式运行,按Alt+P, 
不做任何修改,直接回车;按F2用16进制方式查看,将000001C0地 
址行的倒数第二个16进制数值改为00。 
(3)用DISKEDIT修复 
具体步骤:情况较复杂,需具体情况具体分析 


(九) 显示"Invalid partition table" 
原因:硬盘分区表部分数据错误 
处理:用DISKEDIT修复 
具体步骤:情况较复杂,需具体情况具体分析 


(十) 显示"Disk I/O error ……" 
原因:主DOS引导记录中物理硬盘标志号错误 
处理:用DISKEDIT改成80H(第一个物理硬盘标志号) 
具体步骤:用软盘启动电脑,以diskedit /m /w模式运行,按Alt+P, 
将默认值改为:柱0面1扇1,确认;按F2用16进制方式查看,将00000020 
地址行的第五个16进制数值改为80 


(十一) 显示"Missing operating system" 
原因:(1)硬盘分区表中的起始定位的三个数据错误 
(2)主DOS引导扇区结束标志55AAH 错误 
处理:(1)用DISKEDIT修复为1面0簇1扇 
具体步骤:用软盘启动电脑,以diskedit /m /w模式运行,按Alt+P, 
不做任何修改,直接回车;按F2用16进制方式查看,将000001C0地 
址行的倒数第二个16进制数值改为00 
(2)用DISKEDIT修复为55AAH 
具体步骤:用软盘启动电脑,以diskedit /m /w模式运行,按Alt+P, 
将默认值改为:柱0面1扇1,确认;将最后两个16进制数值改为55AA 


(十二) 显示"Invalid system disk" 
原因:io.sys文件不存在 
处理:用软盘里完好的io.sys拷贝覆盖,或用sys c:命令传输(注意版本要相同) 


(十三) 显示"Non-System disk or disk error" 
原因:同(十二) 
处理:同(十二) 


(十四) 显示"Failure…" 
原因:io.sys被改动 
处理:同(十二) 


四,最后的启示 


 由于造成硬盘不启动的原因复杂多样,同一故障不同的BIOS和不同的操作系统提供的错误信息又不尽相同,解决办法也各有长短,所以在一篇文章中是很难讲全的。 
值得引起大家重视的是,文中的解决办法并不是万能药水,要想从根本上解决问题就要在硬盘正常的情况下做好备份,尤其要备份好容易被忽视的主引导记录及硬盘分区表、主DOS引导记录、文件分配表等三个硬盘启动必需的数据,其中文件分配表还要经常更新备份。 
关于备份,我推荐给大家一个小程序:BFHF,它只有不到3K,却能备份和恢复CMOS、主引导记录及硬盘分区表、主DOS引导记录三种数据,并且简单易学。(下载网址见文尾) 
至于文件分配表的备份,对于FAT16用户可用DISKEDIT手工备份和恢复,具体步骤:用软盘启动,运行diskedit,按Alt+D选择C盘,按Alt+1选择"第一个分配表",按Alt+W选择"写对象",再选择"对文件",确定,最后输入要保存的文件名。(恢复步骤与备份步骤相反,不再叙述) 
好了,就到这儿吧,最后祝愿大家的硬盘永远健康。 

作者: DOS之家 葛明阳
发表于2000年第17期《电脑爱好者》, 

注意:这是本站长N年前的作品,文中提到的工具DISKEDIT、NDD等工具早已经过时,甚至用在新电脑里使用还很危险(不支持FAT32及长文件名,更无法支持NTFS等),这里未作删改地将原文展示给大家,主要是提供一种解决问题的思路。

    



转载请保留本文链接地址:[http://www.oodd.net/Lab/30.html]
  • .
  • 相关文章
  • quote 1.sdfsd
  • 两个字高手,不过这么好的域名有点浪费了。
  • 2006-11-25 10:01:04 回复该留言

发表评论

为了防止SPAM,含链接的评论需要审核后才能显示。

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。