大家也可能知道用这种简单的方法就可以解决:把硬盘在CMOS里屏蔽掉,再用光盘启动用低格工具对这个硬盘低格,锁就没有了,同时我们自己的数据资料也全部没有了。有时候,使用这种方法有的硬盘按照上面的步骤操作时找不到硬盘,这时只有热拔插(不断电直接插拔硬盘数据线)才能找到硬盘进行低格。弄不好的话,硬盘可能要报废。
不过下面介绍的方法就没有那么危险了,相对来说,不用摆弄硬盘和拆机箱。那我就详细介绍一下硬盘为什么会被锁上。
一、计算机启动过程分析
当计算机自检完成后,并更新过 ESCD (Extended System Configuration Data,扩展系统配置数据)时,如果你的计算机设置是从硬盘启动,这时计算机将首先硬盘0柱面0磁头1扇区(主引导区MBR)中的512个字节读入内存0000:7C00处并跳到0000:7C00处执行;如果选择从软盘启动,则计算机首先将A盘0磁道0磁头1扇区的内容读入内存0000:7C00处并跳到0000:7C00处执行。在读取过程中,计算机并不检查该扇区的内容是什么。接着执行读入的内容(硬盘主引导区中的前466个字节,软盘没有分区表,软盘读入的是其引导区的内容,类似于C盘,D盘第一个扇区的内容),首先开始检测该扇区的最后两个字李是不是“55AA”标志,如果“55AA”不存在则打印“Invalid partition table(无效的分区表)”;如果有“55AA”并进一步检测有无硬盘分区表;如有并再进一步分析硬盘分区表中的内容是否正确;如果硬盘分区表正确可用,便接着读取活动分区的第一个扇区的内容即引导区(DBR区)的内容,并把控制权移交。但硬盘分区表的内容驻留内存,供计算机调用。
二、硬盘分区表和逻辑锁的原理分析
1. 硬盘分区表
谈到硬盘逻辑锁加锁原理,就不得不提到硬盘分区表的结构。硬盘分区表位于硬盘的 0 磁道 0 柱面第1扇区(即0区)(注意:该扇区为隐含扇区,0道0面的全部扇区均为隐含扇区,普通的磁盘访问命令无法直接访问,同时该磁道的其他62个扇区也是隐含的,因此有引多系统引导程序就把自己的程序代码放在其他隐含扇区,有些引导区病毒也把自己的代码放在其他隐含扇区。)。在该扇区512字节中,硬盘的主引导记录区MBR (Main Boot Record)只占用了前 446 个字节(偏移 000H-- 偏移 1BDH ),另外的 64个字节(偏移 1BEH-- 偏移 1FDH )是硬盘分区表DPT(Disk Partition Table ) , 最后两个字节 "55 AA" (偏移 1FEH-偏移 1FFH )是分区结束标志。
主引导记录中包含了硬盘的一系列参数和一段引导程序。其中的硬盘引导程序的主要作用是检查分区表是否正确并且在系统硬件完成自检以后引导具有活动标志(80H)的分区上的操作系统,并将控制权交给活动盘上的操作系统的启动程序。
四个分区的入口位置
偏移量
内容说明
大小
000h
执行代码(启动计算机用)
446 Bytes
1BEh
第一个分区入口
16 Bytes
1CEh
第二个分区入口
16 Bytes
1DEh
第三个分区入口
16 Bytes
1EEh
第四个分区入口
16 Bytes
1FEh
MBR分区标志 (55h AAh)
2 Bytes
三层交换技术 交换机与路由器密码恢复 交换机的选购 路由器设置专题 路由故障处理手册 数字化校园网解决方案MBR是由分区工具(如 Fdisk,SmartFDisk,DM,PQmagic等)所产生的,它不依赖哪一种操作系统,而且硬盘引导程序也是可以改变的,从而实现多系统共存。主引导区的引导程序也可以全部为0,只是此时的硬盘不能引导起动。不论硬盘所装的什么样的操作系统,其MBR区的分区表的结构是一样的,引导程序在Windows操作系统下基本一样,MSDos6.22和MSDOS7.0不一样,其内容有所改变,但工作原理是一样的。如果你的电脑C盘安装的是NT操作系统时,其MBR区的引导程序就会和WIN98的不同。
每个硬盘都只能有一个主引导区,扩展分区表可以有多个。
硬盘的分区表偏移长度所表达的意义
偏移量
内容说明
大小
00h
分区状态(00h=非活动Inactive, 80h=活动Active)
1 Byte
01h
分区开始的磁头数
1 Byte
02h
分区开始的柱面和扇区数
1 Word
04h
分区类型
1 Byte
05h
分区结束的磁头数
1 Byte
06h
分区结束的柱面和扇区数
1 Word
08h
第一个分区和MBR区之间的扇区总数,即隐含扇区总数。
1 Double Word
0Ch
分区中的扇区总数
1 Double Word
偏移量01-03H字节表示的柱面数和扇区数的计算方法
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Cylinder Bits 7 to 0 Cylinder Bits 9+8 Sector Bits 5 to 0常用分区类型如下所示
数值
内容说明
00h
未知类型或不用
01h
12BIT的FAT格式
04h
16BIT_FAT表,磁盘空间小于32M
05h
扩展MS_DOS分区
06h
16BIT空间大于32MB
0Bh
使用32BIT_FAT表,磁盘空间最大2GB
0Ch
使用32BIT_FAT表,采用LBA模式,调用INT13扩展中断
0Eh
使用16BIT_FAT表,调用INT13扩展中断
0Fh
扩展MS_DOS分区,采用LBA模式,调用INT13扩展中断
07h
NTFS分区(New Techno logy File System)
82h
Linux分区
83h
Linux 交换分区
三层交换技术 交换机与路由器密码恢复 交换机的选购 路由器设置专题 路由故障处理手册 数字化校园网解决方案 ■例:下面是硬盘的MBR扇区内容:
上表内容左侧为偏称地址,中间为扇区内容16进制表示,右侧为ASCII表示,下同分析硬盘分区表的内容定义:
其中从地址地03BE处的80开始到地址03FD处结尾,其间就是所谓的硬盘分区表,共64个字节,每个分区占16个字节。也就是说不管硬盘有多大,最多也只能有四个主分区(扩展分区也是一个主分区)。
我们通常在WIN98下使用FDISK分区工具分区时,只分了一个活动分区和一个扩展分区。
从上面的分区表的内容我们可以看出,这个硬盘一共有3个主分区,两个0B分区(其中一个是隐含的,即在WIN98和其他操作系统中是不可见的)和一个0F扩展分区。
分区表中的“80 01 01 00 0B FE 7F E6 3F 00-00 00 E8 60 77 00”这一段内容就表示第一个主分区参数。
其中:
偏移地址BEH:80表示当前分区为活动状态(如果该块硬盘不只有一个主分区,那么该位置的80H也可能是00H)
偏移地址BF-C1H:01 01 00表示起始的磁头1柱面1,扇区数0
偏移地址C2H:0B 表示该分区是FAT32磁盘格式
偏移地址C3H-C5H:FE 7F E6 表示结束的磁头254D柱面486D扇区数63D
偏移地址C6H-C9H:3F 00 00 00表示该硬盘有0000003FH(63D)个隐含扇区(也就是硬盘主引导区所在的0道0面的全部扇区)
偏移地址CAH-CDH:E8 60 77 00表示该分区的全部扇区数(7760E8H=7823592D)
注意:
1)分区表中的内容全部是十六进制,并且高位在前,低位在后。
2)偏移地址C2H表示的分区类型常用的,04,05,06,0B,0C,0F,07等,如果把其前面的0改为1即,14,15,16,1B,1C,1F,17就表示该分区为隐含分区。
2. 硬盘逻辑锁加锁的原理
一个完整的硬盘锁程序,就是人为的改写0柱面0磁头1扇区的引导程序,并将分区表破坏,并故意制造一个循环分区表,而将真正的硬盘分区表参数和引导程序放在其它隐藏扇区并保护起来。在从自身启动时校验口令是否正确,如果口令不正确则无法启动电脑;如果口令正确,则把硬盘分区的内容改为正常值读入内存,这时系统就可以顺利启动。对于加锁的硬盘,即使我们把它放到别的机子也是不能启动的。没有密码您无法读取硬盘中的信息和数据,这对于保护硬盘中的数据是一种非常好的办法。但是如果想更安全,就必须把硬盘分区表中的内容进行加密存储,那时即时您使用这里介绍的方法启动电脑了,也无法正确读取硬盘分区表中的内容。要想读取就必须了解程序的加密原理,然后解密。
三、硬盘逻辑锁加锁的方法
1)如果“55AA”的内容丢失,计算机不能从硬盘启动,系统提示:“DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS ENTER.”,但是我们即使从软盘启动,也没有硬盘,用FDISK/STATUS命令显示硬盘未使用。
例如:
106C:03B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 80 01 ................
106C:03C0 01 00 0B FE 7F E6 3F 00-00 00 E8 60 77 00 00 00 ......?....`w...
106C:03D0 41 E7 1B FE BF 65 27 61-77 00 BF 21 1F 00 00 00 A....e'aw..!....
106C:03E0 81 66 0F FE FF FF E6 82-96 00 15 1D CC 01 00 00 .f..............
106C:03F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ..............U.
还有,如果硬盘分区表中的活动标志都为“00H”时,这时硬盘也是不能启动的,但是由其他盘启动后,可以正常读取硬盘文件。
2)如果将硬盘分区参数全部变为0,这时由于没有分区参数存在,从硬盘是没法启动系统,这时从软盘启动后也无法认硬盘,这时系统认为硬盘是新的。当你敲入盘符C:并回车,将出现提示“Invalid driver specification”。不过,我们还能够启动我们的计算机。
例如:
106C:03B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
106C:03C0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ......?....`w...
106C:03D0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 A....e'aw..!....
106C:03E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 .f..............
106C:03F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 55 AA ..............U.
3)如果将硬盘分区表参数改成一个循环链,即将D分区起始柱面,扇区数,磁道数指向C分区开始的起始柱面,磁道数,扇区数。当计算机启动时,主引导程序分析硬盘分区表时就进入死循环状态,计算机无休止的读取分区信息。这时无论我们是从硬盘启动还是从软盘启动,到检测硬盘那一步就死机。具体表现为当出现“Update DMI data”后,计算机只有光标闪烁,没有其他任何反应。但是这种做法如果想恢复硬盘数据时也比较麻烦,在操作前必须对硬盘的主引导区数备份。
例如:
106C:03B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 80 01 ................
106C:03C0 01 00 0B FE 7F E6 3F 00-00 00 E8 60 77 00 00 01 ......?....`w...
106C:03D0 01 00 1B FE BF 65 27 61-77 00 BF 21 1F 00 00 00 A....e'aw..!....
106C:03E0 81 66 0F FE FF FF E6 82-96 00 15 1D CC 01 00 00 .f..............
106C:03F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 55 AA ..............U.
这种方法只是部分硬盘能够被锁住。
4)通常的硬盘逻辑锁是将硬盘0柱面0磁头1扇区的1BF处改为01H改为00H,这就是把第一个主分区C盘的起始磁头数改为00,表示C盘从0面0道0区开始,这时计算机在启动时便进入死循环状态。这种加锁硬盘的好处时,可以方便的改回正常状态。 有的加锁程序如恢复精灵和硬盘锁等程序不但把1BF处的01H改为00H,还同时把1C2处的值改为05H(该处的值一般为0BH或0CH)。
例如:
106C:03B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 80 00 ................
106C:03C0 01 00 05 FE 7F E6 3F 00-00 00 E8 60 77 00 00 00 ......?....`w...
106C:03D0 41 E7 1B FE BF 65 27 61-77 00 BF 21 1F 00 00 00 A....e'aw..!....
106C:03E0 81 66 0F FE FF FF E6 82-96 00 15 1D CC 01 00 00 .f..............
106C:03F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 55 AA ..............U.
这种方法只要一改过存锁后重启计算机后肯定锁上,大多数逻辑锁都采用这种方法,恢复也很简单,只要把00H改为01H,再把05H改为0BH或0CH就可以了。
5)如果某个主分区的06-09表示该分区之前的扇区总数不等于前面分区的扇区总数加上隐含扇区总数,这时硬盘从自身可以启动,但不能从软驱,光驱启动,也不能挂在别的硬盘启动。
例如:
106C:03B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 80 01 ................
106C:03C0 01 00 0B FE 7F E6 3F 00-00 00 E8 60 77 00 00 00 ......?....`w...
106C:03D0 41 E7 1B FE BF 65 27 61-77 00 BF 21 1F 00 00 00 A....e'aw..!....
106C:03E0 81 66 0F FE FF FF E6 82-96 00 15 1D CC 01 00 00 .f..............
106C:03F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 55 AA ..............U.
也就是说:地址2D6H-2D9H之间的“3F”加上地址2DAH-2DDH之间的“E8 60 77 00”应该等于3D6H-3D9H之间的“27 61 77 00”,即3F+7760E8=776127。注意:在磁盘数据格式中,高位数据在后,低位数据在前。因此我们可以人为的通过磁盘编辑工具将“27 61 77 00”改为其他值一,使硬盘分区表出现错误而造成硬盘被锁。
这种故障产生的原因是在计算机工作过程中,因为外界的强脉冲干扰或意外的掉电可能会造成硬盘分区表中的数据改变。这种锁法只对部分硬盘有效,有的硬盘改过后不影响正常使用,可以照常读写。
6)我们也可以把磁盘空间大于2G的FAT32格式的硬盘设置为FAT16的04,05,06格式,人为的造成硬盘错误。
7)我们也可以把硬盘的终止扇区号,柱面号,磁头号改为其他分区的终止扇区号,柱面号,磁头号。
8)将扩展分区表中的某个分区的首尾指针重新指向其前面的分区的首尾指针。
四、造成硬盘被锁的原因
1)使用硬盘加密软件后,忘记进入密码。
2)接收了具有恶意破坏功能的电子邮件。
3)病毒感染。
4)使用硬盘分区工具软件时意外掉电或关机或死机。
五、解锁的原理
我们再分析一下WIN98和MS Dos启动软盘中的系统文件。在WIN98中只有一个IO.SYS,而在MS DOS中有IO.SYS和MSDOS.SYS。IO.SYS文件是输入输出管理文件(Input and Output),它包含LOADER、IO1、IO2、IO3四个模块,其中IO1中包含有一个很关键的程序SysInt_I,它在启动中很固执,非要去读分区表,而且不把分区表读完誓不罢休。如果碰上分区表是循环的,它就只有死机了,这是MS DOS的脆弱性和不完备性。DOS为了获得硬盘使用权必需读分区表参数,而且DOS还约定驱动器号不能超过26,这是系统的设计者没有考虑到此等循环分区表的严重后果。注:如果我们把加锁的硬盘挂在windows 2000系统下就可以正常启动,并可以通过Windows 2000的磁盘工具将有问题的分区表进行修复。
如果在计算机从软盘启动过程中,我们人为的改动系统文件,不允许系统在启动过程中读取硬盘分区表中的内容也就是跳过正常的硬盘检测功能,这时我们可以启动计算机了。
六、制作特殊的启动盘
通过以上的分析你就明白了硬盘逻辑锁是怎么一回事了。我们只要制作一张特殊的启动软盘(当然也可以做成启动光盘),就可以解决。
1. 用DEBUG制作特殊的启动软盘
1).下面是写入软盘0磁道0头1扇区的源程序unlock.com,程序用debug输入。
C>debug
-a100
0100 CLI
0101 XOR AX,AX
0103 MOV DS,AX
0105 MOV ES,AX
0107 MOV SS,AX
0109 MOV AX,7C00
010C MOV SP,AX
010E STI
010F MOV SI,AX
0111 MOV DI,7E00
0114 CLD
0115 MOV CX,0200
0118 REPNZ
0119 MOVSB
011A JMP 0000:7E1F
011F MOV CX,0003
0122 PUSH CX
0123 MOV AX,0201;读启动软盘的引导扇区
0126 MOV BX,7C00
0129 MOV CX,4F01
012C MOV DX,0100
012F INT 13
0131 POP CX
0132 DEC CX
0133 JNZ 0122
0135 MOV AX,[004C];抢先获取INT 13H的位置
0138 MOV [7E88],AX
013B MOV AX,[004E]
013E MOV [7E8A],AX
0141 MOV AX,[0413]
0144 DEC AX
0145 MOV [0413],AX
0148 MOV CL,06
014A SHL AX,CL
014C MOV ES,AX
014E XOR AX,AX
0150 MOV DS,AX
0152 MOV SI,7E6D;复制改写的INT 13H程序到高端内存
0155 MOV DI,0000
0158 MOV CX,0030
015B 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,
0188 ;旧INT 13H的位置由前面程序获得后写入。
-N unlock.com
-R CX
200
-W
-Q
2) 程序的装载
在进行下面工作前,先用Dos格式化一张启动的系统盘,并保证没有坏扇区,最好进行启动测试,确保其可以启动机子。由于现在机子上大多只有3寸软驱,因此选择1.44M的3.5寸软盘。然后用debug unlock.com将程序unlock.com调入内存偏移地址为100H,同时在400H处写入一段装载程序。即:
C>debug unlock.com
-a400
0400 MOV CX,0003
0403 PUSH CX
0404 MOV AX,0201;将A盘引导程序读入内存1000H处
0407 MOV BX,1000;为确保成功,首次采用重复读3次
040A MOV CX,0001
040D MOV DX,0000
0410 INT 13
0412 POP CX
0413 DEC CX
0414 JNZ 0403
0416 MOV AX,0301;将已读入内存的软盘引导程序写入软盘
0419 MOV BX,1000;最后一个磁道的首扇区
041C MOV CX,4F01
041F MOV DX,0100
0422 INT 13
0424 MOV AX,0301;将key.com程序写入软盘0磁道0磁头1扇区
0427 MOV BX,0100
042A MOV CX,0001
042D MOV DX,0000
0430 INT 13
0432 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提示。不要理睬它,这并不影响它作特殊启动盘。
还有,在网上有专门解江民逻辑炸弹的程序,那个解锁软盘的解锁程序就在软盘的引导区里。不过这个软盘还可以用来存储数据,只是不能用来启动系统。
只要我们启动了计算机,就可以利用以下的方法解开硬盘的逻辑锁了。
2.直接修改MS-DOS622或者WIN98的IO.SYS文件制作特殊的启动盘
我们可以使用PC Tools5.0或者HEDIT等其他十六进制编辑器工具,对WIN98的启动软盘中的IO.SYS文件进行编辑(事先去除其所有属性),查找所有的 “b9 01 00 cd 13”,改为“ b9 10 00 cd 13 “。这时我们再用这张软盘启动时,我们就发现不了硬盘了,但是我们用KV3000或DISKEDIT工具时硬盘还是有的。
七、实际解锁过程
1. 利用DEBUG的来查看和改写硬盘主引导区的内容
读硬盘的主引导区内容:
c:>debug
-a
-XXXX:0100 mov ax,0201 (高位的02是调用INT 13的读硬盘功能,03是调用INT 13的写硬盘功能,低位的01指读入一个扇区,)
XXXX:0103 mov bx,0200 (读入内存的地址)
XXXX:0106 mov cx,0001 (所读取的面数和磁头数)
XXXX:0109 mov dx,0080 (80指的是第一个硬盘,81指第二个硬盘)
XXXX:010c int 13 (调用INT 13中断功能)
XXXX:010e int 20
XXXX:0110
-g
Program terminate normally(执行运行命令后的系统提示信息)
-D 200 3ff (使用该命令即可显示已经调入内存的硬盘主引导区的内容)
再用“E XXXX:YYYY“对我们所要修改的内容进行修改,不修改的按空隔跳过。然后用INT13的AH=03功能把修改完的内容写入MBR即可。
2. 利用KV3000的硬盘盘工具来查看和修改硬盘的主引导区的内容
KV3000的硬盘盘工具非常强大,可以搜索硬盘任一扇区的内容,并修改之。
当进入KV3000的功能菜单画面后,按F6即进入硬盘救护箱。进入后的第一屏就是硬盘的MBR扇区的内容。其中红色闪烁的80 01和55 AA之间的内容就是硬盘分区表(如果硬盘只有一个活动分区和一个扩展分区的话)。
画面上方的菜单功能:
F1=HDPT 查看MBR扇区内容
F2=BOOT 查看BOOT扇区内容
F3=Input 直接输入要查看的扇区NO.
F4=Search 直接输入要搜索的ASCII值或16进制代码
画面的下方的菜单功能:
F5=Edit 进入磁盘编辑状态,可对任一字节内容直接修改。
F6=Test HD Tab 测试硬盘分区,按F1可测试硬盘的逻辑分区,按F2可用来查找硬盘的逻辑分区。
F7=DEC HEX 当你编辑硬盘分区内容时,遇到10进制和16进制转换时,可用此功能。
Ctrl+F10=Write 写硬盘扇区功能。在按F5之前按此键,可对硬盘扇区批量改写。使用功能时一定要确定无误,否则后果严重。当你对硬盘某一个扇区修改完毕后,可按此键进行存储。当你按下Ctrl+_F10后,屏幕会有提示:“Warning !!! Exit (Y/N)(绿色字符)“如果你确定写盘操作,请按N,放弃退出后,再按Y确定写盘。如果你发觉自己的误操作时,可以按N放弃。
Ctrl+O=Clean 清除扇区内容
W=Copy 复制扇区内容存到软盘上,最大扇区数量2000个。
Dn=↓ Up=↑
当你使用KV3000对硬盘分区表进行改时,可用光标十字键把光标移到所需要修改的位置,直接输入修改值即可。
如果你的硬盘分区表被病毒彻底破坏时,你也可以用KV3000的F10功能来自动修复。典型的被CIH病毒破坏的硬盘一般逻辑分区都可被恢复,但C盘不能被恢复(可以使用Easy Recovery等专用的数据恢复软件来恢复),所以我们在使用计算机时,最好在C盘安装操作系统,把自己的文件和数据存储在D盘或E盘等逻辑驱动器上。我的文档可以直接剪切后搬移,其他的应用软件可以在图标属性里重新定位。
3. 利用磁盘低级工具来修改
如DDD和LLT,NDD等。我们原来接触的PC Tools5.0因为它是建立在Dos基础上的,它只能对FAT16、FAT12格式的磁盘进行修改,它不能对FAT32的硬盘和硬盘的主引导区修改。
DDD(Dobiash Disk Doctor)磁盘编辑工具的应用简介
该软件只有24K字节,直接对硬盘操作,可以直接使用在WIN98或MS_DOS下,功能同KV3000,但不能在WIN2K下使用。
简要功能介绍如下:
VIEw Mode:Arrow-Right:Go to the Next Sector到下一扇区
Arrow-Left :Go to the Previous Sector到上一扇区
Arrow-Up :Go up 16 Bytes上移16个字节
Arrow-Down :Go down 16 Bytes下移16个字节
Page-Down :Show Bottom part of Sector显示下半部分扇区内容
Page-Up :Show Top part of Sector显示上半部分扇区内容
End :Goto Last Sector on Drive到硬盘最后一个扇区
Home :Goto First Sector on Drive到硬盘第一个扇区(MBR区即0道0面0区)
Alt-E :Enter Editing Mode进入编辑模式
Alt-G :Goto Sector <LBA Referenced>到指定扇区
Alt-M :View Partition Information <when on MBR>当你处于MBR主引导区时按Alt+M键可以查看分区信息。
Alt-B :View Boot Record Information <when on BR>当你处于BOOT区时可查看其内容。
Alt-C :Copy Sector Contents info Copy Buffer拷贝扇区内容到缓冲区。
Alt-P :Paste Copy Buffer onto Sector <Permanent> 粘贴缓冲区内容到某个扇区。
Alt-S :Save Sector to a File 把某一个扇区内容存储成一个二进制文件。
Esc :Exit Program退出程序。
Edit Mode: Esc :Discard Change放弃修改结果。
Enter :Save Change 存储修改结果
Tab :Change Between Hex Numbers and Characters.显示画面在ASCII字符和16进制切换。
4. 正常启动计算机
经过上述的一系列操作后,这时你就可以正常的启动你的计算机了。只要你的硬盘分区表不是加密的,你就可以重新看到那熟悉的蓝天白云画面了。 为更好的保护你的硬盘,建议你最好利用上述的硬盘编辑工具将你的硬盘分区表信息备份起来。把备份有两种方式,一种是以文件形式将硬盘每个逻辑盘的分区信息存储到其他硬盘或软盘上,不要存储在自身;另一种是将分区信息备份在硬盘隐藏扇区里。譬如可以将0柱面0磁头1扇区备份在0柱面0磁头2-64(LBA模式是1-63)扇区,将C盘开始柱面号0磁头1扇区1-3备份在该柱面0磁头1扇区10-20,其它逻辑盘也如此。这种方法简单、方便,也很可靠。使用上面所述的磁盘工具可以很容易操作和实现。
三层交换技术 交换机与路由器密码恢复 交换机的选购 路由器设置专题 路由故障处理手册 数字化校园网解决方案 八、其他解锁方法
1)对于被加锁的硬盘,可以把其挂在WIN2K的系统中,因WIN2K的启动原理与WIN98不同,不会影响系统启动,只是启动后,会认为被锁的硬盘是一个会被分区的新硬盘。你重新分区即可,不过盘上的数据将会全部丢失。
2)使用DM等具有低级格式化功能的软件,同时CMOS中将被锁硬盘的端口设为NONE,启动系统后进入DM选低格找到该硬盘,对其硬盘前面进行低格即可。不过你的数据会无法保留。有的硬盘如此操作系统会找不到你需要的硬盘,这时你必须热拔插才行。
3)有的网站上介绍用上述的16或32进制编辑器,在IO.SYS文件中查找“55AA”,然后将其改为“0000”后,用该文件做系统盘即可正常启动启动,但是硬盘的文件无法读取。
九、其他相关应用说明
1. 找回误操作或病毒破坏丢失的分区
对于WIN操作系统自带的Fdisk分区工具,只能死板的分区,速度很慢,其实这样也有好处,不容易出现误操作。对于Pqmagic,Diskman,SmartFdisk,DM等分区工具,不对磁盘完整性进行检测,分区速度很快,但正因为其速度快,很容易产生误操作。我们轻轻的按一个回车键,可能我们辛辛苦苦积攒的“好东西”就无影无踪了。当我们不当分区后,这时千万不要再拷贝数据和格式化新的分区。这时我们可以通过KV3000的F6磁盘工具来对整个硬盘寻找“55AA”,在寻找时,我们可以根据该硬盘的全部扇区数,所丢失分区的大小在整个硬盘中的位置,用F3功能输入要搜索的大致范围,找出丢失分区的“扩展分区表”所在的绝对扇区地址,并把它链接入上一个逻辑分区的扩展分区中即可。不过,如果你的硬盘经过多次的分区调整与变换时,使用KV3000的磁盘分区修复功能往往会失效,因为硬盘上的“55AA”标志太多了。
2. 隐藏有重要文件的分区
如果我们在公用的机器上或自己电脑上有重要的文件时,这时我们可以在硬盘上建上个合适的分区(使用主分区相对容易一些,真接对MBR操作就可以了,如果是逻辑分区,就需要计算这个逻辑分区的具体位置),把自己的文件搬移过过去后,用磁盘工具把该分区的属性字节的内容的“0XH“改为”1XH“即可,这时在任何操作系统下这个分区都是不可显出的。
3. 手动备份MBR和DBR扇区内容
当我们的硬盘的分区丢失或出现错误时,如果我们有MBR备份就非常方便了,只要把备份的MBR记录恢复就可以了。使用磁盘编辑工具我们可以直接备份任意一个扇区的内容。
4. 去除恢复精灵的密码
恢复精灵这个软件还是挺好用的,对于网吧和经常玩游戏的朋友还是一个挺不错的系统恢复工具。在上网时被黑客黑了,只要重启一下就一切OK了。但是如果密码丢失,这时你就很难办了,重新分区也是无效的(QDI主板的宙斯盾和捷波主板的恢复精灵都有同样的功能),也没法格式化硬盘,你想存储数据也是不可能的。即使你把硬盘摘下来,挂到别的机子上也没有办法。这时我们就可以先用特殊的软盘启动主机后,再直接用磁盘编辑工具对硬盘分区表进行修改,并用FDISK/MBR恢复主引导区,再用SYS C:传送系统文件来修复活动分区的引导区,这时就彻底去除恢复精灵了。注意在操作过程中一定不要使用硬盘自己启动,直到最后才让硬盘启动。
(出处:http://www.sheup.com)