当前位置:学学看123知识中心电脑维修电脑硬件硬盘维修解开硬盘逻辑死锁的一种有效方法» 正文

解开硬盘逻辑死锁的一种有效方法

[10-15 16:16:07]   来源:http://www.xxk123.com  硬盘维修   阅读:8532

导读:135 MOV AX,[004C];抢先获取INT 13H的位置138 MOV [7E88],AX13B MOV AX,[004E]13E MOV [7E8A],AX141 MOV AX,[0413]144 DEC AX145 MOV [0413],AX148 MOV CL,0614A SHL AX,CL14C MOV ES,AX14E XOR AX,AX150 MOV DS,AX152 MOV SI,7E6D;复制改写的INT 13H程序到高端内存155 MOV DI,0000158 MOV CX,003015B REPNZ015C MOVSB015D MOV AX,0000;将新INT 13H位置写入中断向量表0160 MOV [004C],AX0163 MOV AX,ES0165 MOV [004E],AX0168 JMP 0000:7C00016D PUSHF;新INT 13H程序016E CMP DX,0080;是否是硬盘0172 JNZ 0176;不是硬盘则继续0174 POPF0175 IRET;是硬盘则直接返回0176 CMP DX,+00;是否读软

解开硬盘逻辑死锁的一种有效方法,标签:硬盘故障,硬盘维修教程,http://www.xxk123.com
  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



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很容易操作和实现。有了备份分区表信息,就不怕破坏分区表的病毒了;再加上我给你的程序,即使有人真锁住了你的硬盘,你也可以轻而易 举解开了。

上一页  [1] [2] [3] 


Tag:硬盘维修硬盘故障,硬盘维修教程电脑维修 - 电脑硬件 - 硬盘维修
《解开硬盘逻辑死锁的一种有效方法》相关文章

Copyright 学学看123 All Right Reserved.

1 2 3 4 5 6 7 8 9 10