硬盘逻辑锁巧解

[复制链接]
匿名  发表于 2003-6-6 18:57:22 |阅读模式
在谈论具体的解决方法前,先讲述一下被"逻辑锁"锁住的硬盘为什么不能用普通办法启 动的原因: <br>
计算机在引导DOS系统时将会搜索所有逻辑盘的顺序,当DOS被引导时,首先要去找主引 导扇区的分区表信息,位于硬盘的零头零柱面的第一个扇区的OBEH地址开始的地方,当 分区信息开始的地方为80H时表示是主引导分区,其他的为扩展分区,主引导分区被定义 为逻辑盘C盘,然后查找扩展分区的逻辑盘,被定义为D盘,以此类推找到E,F,G..... "逻辑锁"就是在此下手,修改了正常的主引导分区记录将扩展分区的第一个逻辑盘指向 自己,DOS在启动时查找到第一个逻辑盘后,查找下个逻辑盘总是找到是自己,这样一来 就形成了死循环,这就是使用软驱,光驱,双硬盘都不能正常启动的原因。实际上这"逻 <br>
辑锁"只是利用了DOS在启动时的一个小小缺陷,便令不少高手都束手无策。知道了"逻辑 锁"的"上锁"原理,要解锁也就比较容易了。以前我看到有位朋友采用"热拔插"硬盘电源的方法来处理:就是在当系统启动时,先不给被锁的硬盘插上电源线,等待启动完成后再给硬盘"热插"上电源线,这时如果硬盘没有烧坏的话,系统就可以控制硬盘了。当然这是一种非常危险的方法,大家不要轻易尝试,下面介绍两种比较简单和安全的处理方法。 <br>
方法一:修改DOS启动文件 <br>
首先准备一张DOS6.22的系统盘,带上debug、pctools5.0、fdisk等工具。然后在一台正常的机器上,使用你熟悉的二进制编辑工具(debug、pctools5.0,或者windows下的ultraedit都行)修改软盘上的IO.SYS文件(修改前记住改该文件的属性为正常),具体是在这个文件里面搜索第一个"55aa"字符串,找到以后修改为任何其他数值即可。用这张修改过的系统软盘你就可以顺利地带着被锁的硬盘启动了。不过这时由于该硬盘正常的分区表已经被黑客程序给恶意修改了,你无法用FDISK来删除和修改分区,而且仍无 <br>
法用正常的启动盘启动系统,这时你可以用DEBUG来手工恢复。使用DEBUG手工修复硬盘 <br>
步骤如下: <br>
a:>debug <br>
-a <br>
-xxxx:100 mov ax,0201 读一个扇区的内容 <br>
-xxxx:103 mov bx,500 设置一个缓存地址 <br>
-xxxx:106 mov cx,0001 设置第一个硬盘的硬盘指针 <br>
-xxxx:109 mov dx,0080 读零磁头 <br>
-xxxx:10c int 13 硬盘中断 <br>
-xxxx:10e int 20 <br>
-xxxx:0110 退出程序返回到指示符 <br>
-g 运行 <br>
-d500 查看运行后500地址的内容 <br>
这时候会发现地址6be开始的内容是硬盘分区的信息,发现此硬盘的扩展分区指向自己,这就使DOS或WINDOWS启动时查找硬盘逻辑盘进去死循环,在DEBUG指示符下用E命令修改内存数据 具体如下: <br>
E6BE <br>
xx.0 xx.0 xx.0............... <br>
............................. <br>
.......................55 AA <br>
55 AA表示硬盘有效的标记,不要修改,xx0表示把以前的数据"xx"改成0 <br>
再用硬盘中断13把修改好的数据写入硬盘就可以了,具体如下: <br>
A:>debug <br>
a 100 表示修改100地址的汇编指令 <br>
-xxxx:100 mov ax,0301 写硬盘一个扇区 <br>
-xxxx: 这里直接按回车 <br>
-g 运行 <br>
-q 退出 <br>
然后运行 FDISK/MBR(重置硬盘引导扇区的引导程序),再重新启动电脑就行了。 怎么样?用这种方法处理够简单的吧?而且这种方法还有一个好处就是可以保住盘上的 数据!如果你不需要保数据的话,还有更加简单的处理方法: <br>
方法二:巧设BIOS,用DM解锁 <br>
大家知道DM软件是不依赖于主板BIOS的硬盘识别安装软件,(所以在不能识别大硬盘的老主板上也可用DM来安装使用大容量硬盘)。就算在BIOS中将硬盘设为"NONE",DM也可识别并处理硬盘。 <br>
首先你要找到和硬盘配套的DM软件(找JS要或去网上荡),然后把DM拷到一张系统盘上。接上被锁硬盘,开机,按住DEL键,进CMOS设置,将所有IDE硬盘设为NONE(这是关键所在!),保存设置,重启动,这时系统即可 "带锁"启动。启动后运行DM,你会发现DM可以绕过BIOS,识别出硬盘,选中该硬盘,分区格式化,就OK了。这么简单?不过这种 方法的弱点是硬盘上的数据将全部丢失。 <br>

该用户从未签到

0

主题

5

回帖

485

积分

[INTOHARD]排长

Rank: 3Rank: 3

积分
485
QQ
发表于 2003-6-7 03:16:14 | 显示全部楼层
问一下呀!硬盘被锁住一般会出现什么现象?

该用户从未签到

2

主题

3

回帖

135

积分

[INTOHARD]班长

Rank: 2

积分
135
发表于 2003-6-7 07:36:41 | 显示全部楼层
锁住了就不能启动了,硬盘灯会一直亮着,但进不了系统,而且用光驱软驱或挂在其他硬盘上也会这样。之所以被锁,是因为分区表的前后分区参数循环,导致在检测硬盘时做着死循环。
匿名  发表于 2003-6-10 22:56:12
<table width=100% bgcolor=#cccccc cellpadding=5 cellspacing=1 class=TBone><tr><td bgcolor=#f7f7f7 class=TBBG9><b>以下是引用<i>100fun在2003-6-6 23:36:41</i>的发言:</b>[br]锁住了就不能启动了,硬盘灯会一直亮着,但进不了系统,而且用光驱软驱或挂在其他硬盘上也会这样。之所以被锁,是因为分区表的前后分区参数循环,导致在检测硬盘时做着死循环。</td></tr></table><br>
有时0道坏也有上诉情况。。。。。。。。。<br>

该用户从未签到

0

主题

9

回帖

123

积分

[INTOHARD]班长

经常Format

Rank: 2

积分
123
发表于 2003-6-11 18:09:33 | 显示全部楼层
呵呵 又学一招啊 有意思!!<br>
大哥们 你们什么地方学的汇编啊 我的汇编书 2年没看了 <br>
<br>
只记得 MOV AX BX 和一大堆二进制<br>
<br>
现在搞数据 看来又要翻翻汇编了[emb13]

该用户从未签到

0

主题

3

回帖

156

积分

[INTOHARD]班长

业余修HDD

Rank: 2

积分
156
QQ
发表于 2003-6-16 04:49:43 | 显示全部楼层
那富士通被锁了,怎么解啊,
匿名  发表于 2003-6-16 22:28:12
<table width=100% bgcolor=#cccccc cellpadding=5 cellspacing=1 class=TBone><tr><td bgcolor=#f7f7f7 class=TBBG9><b>以下是引用<i>海林硬盘在2003-6-15 20:49:43</i>的发言:</b>[br]那富士通被锁了,怎么解啊,</td></tr></table><br>
就用上述方法解呀!<br>

该用户从未签到

0

主题

1

回帖

57

积分

[INTOHARD]班长

碎片

Rank: 2

积分
57
QQ
发表于 2003-6-17 23:55:39 | 显示全部楼层
dx<br>
cx <br>
这不是寄存地址吗?<br>
你懂得debug 吧

该用户从未签到

0

主题

3

回帖

370

积分

[INTOHARD]排长

Rank: 3Rank: 3

积分
370
QQ
发表于 2003-6-20 05:39:47 | 显示全部楼层
楼上所述故障,可以试一下firmware刷新一下。

该用户从未签到

0

主题

1

回帖

101

积分

[INTOHARD]班长

Rank: 2

积分
101
发表于 2003-6-20 05:48:11 | 显示全部楼层
<table width=100% bgcolor=#cccccc cellpadding=5 cellspacing=1 class=TBone><tr><td bgcolor=#f7f7f7 class=TBBG9><b>以下是引用<i>freeuser在2003-6-19 21:39:47</i>的发言:</b>[br]楼上所述故障,可以试一下firmware刷新一下。</td></tr></table><br>
谢谢指教<br>
还有两 问题 :我在用DEBUG时到-xxxx:10c int 13 <br>^error<br>我怎么办?<br>firmware我不会用,请教教<br>
<br>
<font color="#000066">[本贴已被 清风侠 于 2003-6-20 14:04:42 修改过]</font>[/ALIGN]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表