Board logo

标题: 40G硬盤CMOS無法檢測﹐在此求求各位高手﹐小女感激不盡啊 [打印本页]

作者: Jassica     时间: 2005-8-22 19:48    标题: 40G硬盤CMOS無法檢測﹐在此求求各位高手﹐小女感激不盡啊

本人有一台2002年購置CPU1.3G.硬盤為40G(希捷)﹐內存512M(現升級的)的台式電腦﹐因家中裝有寬帶﹐所以經常夜夜宵歌啊﹐不久前﹐下載几個小程序后﹐正常關機﹐在第二次再次開機時顯示無法檢測到硬盤﹐開機自檢時間較長﹐進入CMOS設為AUTO但顯示"DEFECT HARD DRIVE",退出重新啟動﹐無法檢測硬盤﹐使用A盤啟動但必需將硬備設為NONE,否則硬盤燈長亮﹐無法啟動系統。在其它電腦亦無法啟動
此塊硬盤只格式化過二次﹐從未出現過壞道現象﹐且現在轉動亦動異常﹐均為正常。
據初步分析為病毒攻占引導區﹐用DOS引導后使用DEBUG重寫引導區﹐在檢測到好硬盤后使用壞硬盤進行熱插拔﹐但在寫入執行時﹐顯示"ERROR",無法重寫。
因CMOS無法檢測到硬盤﹐本人曾試過使用FDISK,PM﹐KV3000﹐希捷專用低格﹐均因無法檢測到硬盤而告終。
使用儀器測量﹐硬盤外表面電路電壓均為正常﹐無異常現象。
以上﹐本人實在無法解決﹐在此求求各位高手﹐幫忙檢測一下﹐小女感激不盡啊。
作者: Michael     时间: 2005-8-22 19:54
老天爷,你连电压都测了。
最后一句应改为“小女子感激不尽”。小女是女儿的意思。
此硬盘放在别的电脑上可用吗?
作者: fdsiuha     时间: 2005-8-22 19:59
谁让你热插拔的??胆子不小(呵呵)。IDE接口一般不要热插拔,如果像你说的那种方法,大可以把正常硬盘的信息写到软盘,然后关机换硬盘后再写到硬盘上。

BIOS检测不到就是BIOS有问题或硬盘硬件有问题,其他都不用谈了。但是你的BIOS能够认得其他的硬盘,说明坏的可能性较小。

你的这个硬盘估计是物理损坏,去维修店吧。
作者: jessica     时间: 2005-8-22 22:07
非常感激2/3楼的哥哥了.
但我是试过其他的机器,亦不行啊
我用电脑有几年了,还没有碰到这件事,真是要各位高手帮忙了.
thanks for you support!!
作者: Michael     时间: 2005-8-22 22:24
既然试过别的机器还不行,还不把它扔掉,或者是卸开来把盘片当镜子用,据说硬盘的盘片比任何一面镜子都要光滑。
作者: fdsiuha     时间: 2005-8-23 02:46
一般不是机械故障的话还是可以修一下的。BIOS找不到硬盘的话,我估计你的硬盘是电路板的问题,如果硬盘是电机、转轴机械故障一般还是可以被BIOS识别的。
作者: Dark-Destroy     时间: 2005-8-23 14:00
第一,病毒是無法讓BIOS連硬盤都測不到的
第二,硬碟燈長亮,就以代表硬碟本身有問題,趕緊拿去修吧

P.S. 如果你有啟動HDD S.M.A.R.T,或許會顯示那邊出問題了
作者: quanyongji     时间: 2005-9-3 22:00
我也出现过  硬盤CMOS無法檢測
我的解决方法:恰恰就是 猛烈的热拔插 直到它出显:)绝对亲身经历   ibm 2g硬盘 (数据线不动,拔插硬盘电源)听到硬盘比较均匀平稳的转动后,重启pc,不成功继续。


(死亡方式  +5v  +12v反接   一个该死的垃圾电源  插槽+5 +12反接)
反正不热拔插也是丢掉,酒后比较容易干这种事:)
这是1年以后连接到朋友的电脑copy数据出现的惨剧,以后最好配件连接杂牌电源时测量一下电压。

我可怜的ibm 2g

[ Last edited by quanyongji on 2005-9-13 at 04:33 ]
作者: born2be     时间: 2005-9-4 16:54    标题: 别着急!也许没那么复杂!

以前我的机器也出现过CMOS检测不出硬盘的现象。可我解决的办法是:

1)关掉Windows,关掉机器电源

2)查找硬盘上标明的cyl,heads,sect数据;查硬盘是接在IDE1(Primary第1硬盘)还是IDE2(Secondary第二)、是Master(主盘)还是Slave(从盘)

3)开机,进入CMOS设置,找到相应的硬盘,设置Manual手动方式,CHS输入:
cylinders:
heads:
sectors:
按F10,回车

4)重启

我是这么成功的。你尽可以试一试,这是没有危险的方法,放心。
作者: ft3433418     时间: 2005-9-5 09:46
由你所说的现象看`有可能是中了逻辑锁。
作者: ft3433418     时间: 2005-9-5 10:29


  Quote:
Originally posted by born2be at 2005-9-4 16:54:
以前我的机器也出现过CMOS检测不出硬盘的现象。可我解决的办法是:

1)关掉Windows,关掉机器电源

2)查找硬盘上标明的cyl,heads,sect数据;查硬盘是接在IDE1(Primary第1硬盘)还是IDE2(Secondary第二)、是Master(主盘)还是Slave(从盘)

3)开机,进入CMOS设置,找到相应的硬盘,设置Manual手动方式,CHS输入:
cylinders:
heads:
sectors:
按F10,回车

4)重启

我对9楼的朋友提出的方法感到很是新奇`以前从不知道还有这种方法,想知道是什么原理!有高手指点以下吗?还有希望9楼的朋友能将你的配置帖上来。
作者: born2be     时间: 2005-9-6 15:39    标题: 应该不是配置问题。请版主说明吧!

应该不是配置问题,我是进行了虚拟软盘纯DOS操作中文系统时,出现了死机后发生的。按了Reset键。是非常电流冲击引起CMOS数据损失吗?请版主说明吧!
作者: maya0su     时间: 2005-10-13 17:16
我有一块WD的20G硬盘,一次正常拆卸后,没有办法识别!用手动识别也不行!
插电后,听到硬盘有短暂的加电声,然后不动!
作者: passion     时间: 2005-10-13 19:52
找一块好的硬盘 看BIOS能不能检测得到 如果检测得到  再试你的原硬盘 如果还是检测不到 就是你的硬盘坏了 换吧
作者: 不得不爱     时间: 2005-10-13 20:03
你的硬盘是不是中了逻辑锁!
作者: maya0su     时间: 2005-10-14 16:28
不知道用DM行不行,具说DM可以识别这样的,不过我还没试!
现在不在家也没办法!回去了试试,建议楼主用DM试一试!假如能行,给个信!
作者: chxguest     时间: 2005-10-14 22:24
楼主MM厉害啊,电脑能玩到这程度,又是硬盘低格,又是热插拔的,崇拜ing……

谈谈我对你遇到的问题看法。
从你描述的现象来看,是硬盘出现故障了,不像是中了引导区病毒。如果是中了引导区病毒,虽然不能正常启动OS,但硬盘应可以被BIOS自检到,所以硬盘出现物理损坏的可能性较大。
现在就死马当活马医,就当是中了引导区病毒,用下面的方法试试:
1. 在CMOS设置中屏蔽硬盘,这时机器就可以从软盘引导。
2. 使用“DM /M”命令启动启动DM万用版,选"(A)dvanced Options -> (M)aintenance Options -> (U)tilities -> (U)tilities -> Zero Fill Drive
", 对硬盘充零. 充零时不必做完, 实际上你可以在零填充一开始后,就可以立即敲esc键停止它.
  3. 此时硬盘就可以像从未分过区的新硬盘一样,你想做什么都行.
  本方法利用了DM万用版在硬盘设置为"NONE"时,仍能对硬盘进行操作的特点.(DM下载地址:http://chengyi.luyingwei.net/download/DM957cyA.rar)。如果连DM中都无法看到你的硬盘,那就没招了。
作者: wphs0326     时间: 2005-11-1 15:58
不知小女子的硬盘可好了,连cmos都检测不到,估计就和你byebye了
作者: yzz163     时间: 2005-11-4 17:43
1、关机给CMOS放电。
2、检查或换新的硬盘电缆,设置正确的跳线。
3、在CMOS里设硬盘类型为NONE。
4、用DOS 7.1 + DM 9.56 启动看是否有硬盘,然后用DM....(具体看17楼)

注意步骤。
作者: fcbym001     时间: 2005-11-4 23:03
那么多热拔插其实是解决接触不良的一种手段;
具体还是用万用表测量更实在,设置具体硬 盘参数有时很有用;

但若已保证数据线接触良好电压没问题CMOS还是不认硬盘的话,可听一下开机时有没电机启动的声音,若没有硬盘灯常亮或直接不亮那肯定是电路部分坏了.

另一种最典型的就是光驱开机和插入盘片正常闪亮,但不识别有两种情况:
要么电路中的光头老化坏或供电电路坏,要么数据线氧化接解不良松动CMOS不认。
作者: Jneny     时间: 2005-11-26 21:26    标题: !~~~~~~~

可能故障分析:
    1。BIOS不够级别,升级一下可以的话,
    2。逻辑锁,用DM软件填充一下0,0,1 扇区或DEBUG 汇编填充它。
    3。重插一下电源线或数据线,检查电源线或数据线有没有问题
    4。打开BIOS----AUTO 功能
作者: sgtao     时间: 2005-12-13 14:05
硬盘锁住原理

硬盘逻辑锁通常是对硬盘的分区表做手脚,因此首先应该了解硬盘的分区表。硬盘分区表位于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启动前抢先拦截INT13H,驻留高端内存并监视INT13H,判断是否读硬盘,如果是读硬盘就直接返回,这样就禁止了读硬盘,也就避免了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下能否启动,然后再用此软盘启动机子试试,看看功效如何?

从该软盘启动后,不认硬盘,并且在高端内存驻留了新INT13H程序,该段程序实际上是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下用INT13H的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很容易操作和实现。有了备份分区表信息,就不怕破坏分区表的病毒了;

再加上我给你的程序,即使有人真锁住了你的硬盘,你也可以轻而易 举解开了。

[ Last edited by sgtao on 2005-12-13 at 14:23 ]
作者: 不得不爱     时间: 2005-12-13 20:55
说得好复杂,难道用可以解硬盘锁的IO.SYS就不行了吗,你这个好复杂哟!不是一般人能懂的!
作者: zhaoliangqi     时间: 2006-2-8 17:32
不是搞硬盘修理的,种种奇谈怪论实在高明。
硬盘初始化出错,BIOS当然无法识别了。
估计是 G-List 溢出,导致 G-List 初始化模块出错,然后是初始化出错。BIOS当然无法识别。
这已经不是网上发几个贴子就能解决的问题,即使是硬盘修理者,也并不一定能修理出来。如果没有紧要的数据,就丢了吧。
搂主是在昆山,我在上海。
相距还是不远的。
作者: liulixian024     时间: 2006-2-12 16:15
我的硬盘是一样的请况啊
作者: qzxuyimin     时间: 2006-2-12 23:06
推荐使用MHDD工具检测一下吧,如果MHDD都无法测试出硬盘信息,那是真的没救了。
另外,想纠正一下楼上几位朋友的看法:1、BIOS里不认硬盘并非表示没救了;2、硬盘是可以热插拔的,但是尽量将硬盘进入电源关闭模式(mhdd工具用Shift+F4快捷键),然后先把电源线拔掉再拔掉数据线,虽然理论上不能热插拔,但我修了这么多年的硬盘,还没出事过。

[ Last edited by qzxuyimin on 2006-2-12 at 23:14 ]
作者: bettyhuang     时间: 2006-4-9 15:27    标题: 我也遇到过相似的问题 最后也没弄好