www.138139.cn

返回总目录 上一页 目录页 下一页

硬盘逻辑锁详解


    DOS启动必须包含基本输入输出文件io.sys(我们在windows下也可以看到,位于C盘根目录下)。而它是有些固执的,启动以后非要把硬盘分区表读完然后接管不可,所以无论我们用什么启动,它一查找逻辑盘就死循环,我们就看到了硬盘灯常亮系统挂起的情况了。

     那么我们如何解开它呢?从根本上讲就是让io.sys不起作用或者在它起作用以前将分区表参数修改回来。

    1、debug法。

     用这种方法首先必须要能启动机器,我们可以在一台正常的电脑上修改启动软盘中的io.sys文件,查找到第一个“55aa”字符串,找到以后修改为任何其他数值,用这张启动软盘你就可以顺利地带着被锁的硬盘启动了。不过这时该硬盘的分区表已经不正常,所以我们无法用FDISK来删除和修改分区,而且仍然无法用正常的启动盘启动系统,这时可以用DEBUG来手工恢复。具体命令如下:

    a:\>debug

    -a

    -????:100 mov ax,0201(读一扇区内容)
 
    -????:103 mov bx,500(设置一缓存地址)
 
    -????:106 mov cx,0001(设置第一硬盘的硬盘指针)
 
    -????:109 mov dx,0080(读零磁头)
 
    -????:10c int 13 (硬盘中断)
 
    -????:10e int 20
 
    -????:0110 回车
 
    (注:-????各硬盘不相同,跟后面的:1??都是自动显示的,我们要输入的只是其后的内容)

    -g

    -d500 (查看运行后缓存地址500的内容,这时候我们会发现地址6be开始的内容就是硬盘分区表信息,如果硬盘的扩展分区正是指向自己,那么DOS或WINDOWS启动时就会因查找逻辑分区而陷入死循环。)在DEBUG指示符下继续修改内存数据:
 
    E6BE

    ??.0 ??.0 ??.0……址163164.cn 微信1631640 QQ3149886

 
    ……址163164.cn 微信1631640 QQ3149886


    ……55 AA

    55 AA是硬盘有效的标志,不要修改,??.0表示把以前的数据“??”改成了0,再用硬盘中断13把修改好的数据写入硬盘就可以了:
 
    A:\>debug

    a 100 (表示修改100地址的汇编指令)
 
    -????:100 mov ax,0301 (写硬盘一个扇区)
 
    -????: 回车
 
    -g (运行)
 
    -q (退出)
 
    退出后运行fdisk/mbr来重置硬盘引导程序,重新启动即可。

     这种方法虽然麻烦一点,但是它能够恢复硬盘分区表,也就是说恢复以后硬盘中的数据也不会丢失。而以下方法虽然更加方便,但是要么硬盘中的数据难保,要么有一定危险性下一页

址163164.cn 微信1631640 QQ3149886

返回总目录 上一页 目录页 下一页