三更论坛技术版『 技术交流 』 → 硬盘及系统启动故障诊断


  共有9938人关注过本帖树形打印复制链接

主题:硬盘及系统启动故障诊断

帅哥哟,离线,有人找我吗?
荞麦
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:坛主 帖子:7889 积分:39446 威望:0 精华:5 注册:2004-7-31 17:34:24
硬盘及系统启动故障诊断  发帖心情 Post By:2009-4-10 10:01:42 [只看该作者]

  一、硬盘启动过程

 

  在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步文章太多了)。

 

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

 

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

  (二) 显示“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被改动
  处理:同(十二)

  (十五)显示找不到 NTLDR 文件
  原因:系统引导分区根目录下的系统引导文件可能被误删除或被破坏。
  处理:用本光盘引导,将系统光盘中的NTLDR、Netdtect.com、bootfont.bin文件复制到引导分区根目录。

  (十六)显示找不到系统目录下的某些文件
  原因:(1)硬盘上的Windows2/XP/2003系统目录被破坏。
  处理:重新安装Windows。
  (2)引导分区根目录下的Boot.ini文件中的引导项目中包含的系统路径与实际不匹配。一般由误删除Boot.ini文件、错误修改Boot.ini等有关。多系统环境下,有可能是从一个系统中修改了另一个系统的相关配置,如系统目录等;重新分区也可能导致某些分区中的系统不能引导。
  处理:先同上试图修复 Boot.ini。如果是系统目录或分区被修改,则可用本光盘引导,修正系统目录名称,或者编辑引导分区根目录的Boot.ini文件,使其中的引导项目指向正确的分区。

  (十七)Windows 2000/XP/2003引导时反复自动重启
  原因:(1)不同主板之间进行了系统克隆安装。
  处理:使用修复安装的方式,重新安装 Windows。
  (2)如果是进入桌面后自动重启,则可能是中了冲击波等病毒,请按本光盘中的杀毒指南进行处理。
  (3)系统文件被破坏。
  处理:修复式安装Windows。必要时备份数据后重新格式化再安装。
  (4)硬盘错误。
  处理:使用本光盘提供的硬盘坏道修复工具综合检查、修复,必要时格式化;严重情况下可用DM清零(○填充),然后重新分区、格式化。

  (十八)如何恢复硬盘主引导记录中的引导标志
  引导时显示Invalid patition table时,多由于因病毒或其它原因所致的主引导记录中的标志不是80H或00H引起。
debug
a 100
mov ax,201
mov bx,200
mov cx,1
mov dx,80
int 13
int 3

g=100 (将主引导记录读入200H开始的内存中)
d 3b0 3ff (显示硬盘分区表,注意最末一行结尾的引导标志是不是“80”或“00”)
e 3be 80 (将引导标志改为 80)
e 3bf 01
e 102 3
g=100 (将修改后的主引导记录写入硬盘)

  (十九)如何恢复硬盘主引导记录中的结束标志
  引导时显示Missing operating system 后死机,这主要是由于主引导记录的结束标志被破坏所引起,正常情况下应当是“55 AA”。
debug
-a 100
mov ax,201
mov bx,200
mov cx,1
mov dx,80
int 13
int 3

g=100
d 3b0 3ff
e 3fe 55 AA
e 102 3
g=100


  三、最后的启示

 

  由于造成硬盘不启动的原因复杂多样,同一故障不同的BIOS和不同的操作系统提供的错误信息又不尽相同,解决办法也各有长短,所以在一篇文章中是很难讲全的。
  值得引起大家重视的是,文中的解决办法并不是万能药水,要想从根本上解决问题就要在硬盘正常的情况下做好备份,尤其要备份好容易被忽视的主引导记录及硬盘分区表、主DOS引导记录、文件分配表等三个硬盘启动必需的数据,其中文件分配表还要经常更新备份。
  祝愿大家的硬盘永远健康。



三更论坛交流群:11484137 三更有梦休闲群:30275742
荞麦的新浪博客:http://blog.sina.com.cn/qiaomai
有事请点这里与荞麦临时会话QQ留言
 回到顶部