硬盘逻辑锁原理及解法

时间:2024-02-16 17:00:20
|  加密解密>>解密破解 字体大小:- +  打印
硬盘逻辑锁原理及解法
www.aspsky.net  2003-11-10  动网先锋


首先说一下硬盘逻辑锁的原理。一、计算机启动过程分析  当计算机自检完成后,并更新过 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”这一段内容就表示第一个主分区参数。

  其中:

  偏移地址BEH80表示当前分区为活动状态(如果该块硬盘不只有一个主分区,那么该位置的80H也可能是00H)

  偏移地址BF-C1H01 01 00表示起始的磁头1柱面1,扇区数0

  偏移地址C2H0B 表示该分区是FAT32磁盘格式

  偏移地址C3H-C5HFE 7F E6 表示结束的磁头254D柱面486D扇区数63D

  偏移地址C6H-C9H3F 00 00 00表示该硬盘有0000003FH(63D)个隐含扇区(也就是硬盘主引导区所在的0道0面的全部扇区)

  偏移地址CAH-CDHE8 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

然后用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文件制作特殊的启动盘  我们可以使用十六进制编辑器工具,对WIN98的启动软盘中的IO.SYS文件进行编辑(事先去除其所有属性),查找所有的 “b9 01 00 cd 13”,改为“ b9 10 00 cd 13 “。这时我们再用这张软盘启动时,我们就发现不了硬盘了,但是我们用KV3000或DISKEDIT工具时硬盘还是有的。还可以修改IO.SYS,找到55AA,修改成其它任意值,这时就可以避动了,也能找到硬盘,但是硬盘中的文件还是无法读取。总之,不管用什么方法,我们只要能启动,再来解锁。七、实际解锁过程  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 (使用该命令即可显示已经调入内存的硬盘主引导区的内容)(或用 -D 500 查看后500地址内容) 在DEBUG提示符下用E 修改内存数据,以最常见的第四种情况为例在E6BE地址处xx.0 xx.0 xx.0 ............................................55 AA,将其中的xx改成0就好了,再用中断13写入硬盘,-debuga 100 (修改100地址)-xxxx:100 mov ax,0310 (写硬盘第一个扇区)-g (运行)-q (退出)最后用 fdisk/mbr (重写引导信息),这样就OK了。  2. 利用工具,如NDD,PCTOOLS,KV3000等,也可以用DM直接重新分不过这样数据一定保不住了,或者挂在WIN2K的系统下,也可以启动的,再在WIN2K下用磁盘管理工具直接分区。下面是用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盘等逻辑驱动器上。我的文档可以直接剪切后搬移,其他的应用软件可以在图标属性里重新定位。九、后记  1. 找回误操作或病毒破坏丢失的分区  对于WIN操作系统自带的Fdisk分区工具,只能死板的分区,速度很慢,其实这样也有好处,不容易出现误操作。对于Pqmagic,Diskman,SmartFdisk,DM等分区工具,不对磁盘完整性进行检测,分区速度很快,但正因为其速度快,很容易产生误操作。我们轻轻的按一个回车键,可能我们辛辛苦苦积攒的“好东西”就无影无踪了。当我们不当分区后,这时千万不要再拷贝数据和格式化新的分区。这时我们可以通过KV3000的F6磁盘工具来对整个硬盘寻找“55AA”,在寻找时,我们可以根据该硬盘的全部扇区数,所丢失分区的大小在整个硬盘中的位置,用F3功能输入要搜索的大致范围,找出丢失分区的“扩展分区表”所在的绝对扇区地址,并把它链接入上一个逻辑分区的扩展分区中即可。不过,如果你的硬盘经过多次的分区调整与变换时,使用KV3000的磁盘分区修复功能往往会失效,因为硬盘上的“55AA”标志太多了。  2. 隐藏有重要文件的分区  如果我们在公用的机器上或自己电脑上有重要的文件时,这时我们可以在硬盘上建上个合适的分区(使用主分区相对容易一些,真接对MBR操作就可以了,如果是逻辑分区,就需要计算这个逻辑分区的具体位置),把自己的文件搬移过过去后,用磁盘工具把该分区的属性字节的内容的“0XH“改为”1XH“即可,这时在任何操作系统下这个分区都是不可显出的。  3. 手动备份MBR和DBR扇区内容当我们的硬盘的分区丢失或出现错误时,如果我们有MBR备份就非常方便了,只要把备份的MBR记录恢复就可以了。使用磁盘编辑工具我们可以直接备份任意一个扇区的内容。备份分表区及张导记录,是一个非常好的习惯。我们可以用一些工具备份,如用KV3000 /B,或是用金山毒霸所带的一个DOS程序,KAVFIX.EXE,如果实在找不到,还是可以用DEBUG,备份主引导记录的方法是:DEBUG(回车)-A 100XXXX:0100 MOV AX,201XXXX:0103 MOV BX,200XXXX:0106 MOV CX,1XXXX:0109 MOV DX,80XXXX:010C INT 13XXXX:010E INT 3XXXX:010F-G=100-R CXCX 0001:200-N BOOT.ZYD-W 200-Q备份DOS分区引导记录的方法是:DEBUG(回车)-L 100 201-N BOOT.DOS-R CXCX 0001:200-W 100-Q写硬盘主引导记录的方法是:DEBUG(回车)-N BOOT.ZYD-L 200-A 100XXXX:0100 MOV AX,301XXXX:0103 MOV BX,200XXXX:0106 MOV CX,1XXXX:0109 MOV DX,80XXXX:010C INT 13XXXX:010E INT 3XXXX:010F-G=100-Q写DOS分区引导记录的方法是:DEBUG(回车)-N BOOT.DOS-L 100-W 100 201-Q4. 去除恢复精灵的密码恢复精灵这个软件还是挺好用的,对于网吧和经常玩游戏的朋友还是一个挺不错的系统恢复工具。在上网时被黑客黑了,只要重启一下就一切OK了。但是如果密码丢失,这时你就很难办了,重新分区也是无效的(QDI主板的宙斯盾和捷波主板的恢复精灵都有同样的功能),也没法格式化硬盘,你想存储数据也是不可能的。即使你把硬盘摘下来,挂到别的机子上也没有办法。这时我们就可以先用特殊的软盘启动主机后,再直接用磁盘编辑工具对硬盘分区表进行修改,并用FDISK/MBR恢复主引导区,再用SYS C:传送系统文件来修复活动分区的引导区,这时就彻底去除恢复精灵了。注意在操作过程中一定不要使用硬盘自己启动,直到最后才让硬盘启动.