『第 22 楼』:
使用 LLM 解释/回答一下
硬盘锁住原理
硬盘逻辑锁通常是对硬盘的分区表做手脚,因此首先应该了解硬盘的分区表。硬盘分区表位于0柱面0磁头1区,这个扇区的前面200多个字节是主引导程序,后面从01BEH 开始的64个字节是分区表。分区表共64字节,分为4栏,每栏16字节,用来描述一个分区。如果是用DOS的FDISK程序分区后,最多只用两栏,第一栏描述基本的DOS分区,第二栏描述 扩展的DOS分区。
分区表一栏的结构与各字节的含义如下:
00H-标志活动字节,活动DOS分区为80H,其它为00H。
01H-本分区逻辑0扇区所在的磁头号。
02H-逻辑0扇区所在柱面中的扇区号。
03H-逻辑0扇区所在的柱面号。
04H-分区类型标志。
05H-本分区最后一个扇区的磁头号。
06H-最后一个扇区的扇区号。
07H-最后一个柱面的柱面号。
08H-硬盘上在本分区之前的扇区总数,用双字表示。
0CH-本分区的扇区总数,从逻辑0扇区计数,不含隐藏扇区,用双字表示。
在上面的介绍中给出的柱面号与扇区号虽然各占一个字节,但实际上扇区号用6位表示,柱面号用10位表示,扇区号所在字节的最高两位实际上是柱面号的最高两位。
分区表的最后两个字节是分区表的有效标志,如果将其改变,将不能从硬盘启动,这是一种简单的锁住硬盘的方法。解决的办法是从软盘启动,启动后硬盘仍然可以 使用。用Debug或Noratn中的Diskedit软件将硬盘该分区表中的标志恢复,则从硬盘启动也没有问题了。锁住硬盘的另一种方法是对分区参数做手脚,如果将分区参数全部变为0,则 启动时由于找不到分区参数,从硬盘是没法启动,从软盘启动后也不认硬盘,如果你敲入盘符 C 并回车,将出现提示
Invalid
driver
specification。
但所幸的是,毕竟可以启动机子,不认硬盘没关系,在A盘上用DOS的Debug仍然可以读出硬盘0柱面0磁头1扇区的内容,修改后再写入0柱面0磁头1扇 区,重新启动机子又没问题了。如果将分区表参数随意改为其它参数,则有可能不能用可以安装DOS的DOS系统盘启动,按F3退出后将出现内存分配错误,不能装载DOS的命令解释 器COMMAND的提示,系统就死机了,笔者就曾碰见过这种情形。但用一张格式化成系统盘的软盘则可以顺利启动,只要有Debug,你仍然可以将分区表参数修改回去。可怕的事情是, 如果你不幸将分区表参数改成一个循环链,即C盘的下一个分区指向D驱,D驱的下一个分区又指向C区,这样循环下去,DOS启动或WIN95启动时由于无休止的读取逻辑驱动器,就只有 死机的份了。这是只要有硬盘存在,不管你用软盘还是硬盘都没法启动机子了,由于不能启动是由于硬盘造成的,即使你将硬盘下到其它计算机上,也没法使用,这样硬盘就彻底被 锁死了,笔者所遭遇就是此情形。不信,你只需将硬盘0柱面0磁头1扇区的1D0H处改为1(如果你的D驱开始柱面号不够大,此处本来就为1),将1D1H处改为0,表示D盘的开始柱面号 跟C盘一样,看看你的计算机还能不能启动,不过你在没有充分的准备前绝不要试。
一个完整的硬盘锁程序,不过是重新改写0柱面0磁头1扇区的引导程序,并将分区表破坏或故意制造一个循环分区表,而将真正的硬盘分区表参数和引导程序放在其它 隐藏扇区并保护起来,如果启动时口令不对,则不能启动机子,口令对了则顺利启动。这种硬盘锁程序,情形好的还可以用软盘启动;情形严重的就是连软盘也不能启动,硬盘真被锁住。
解开硬盘锁的程序法
如果硬盘被锁死,是否真的就无法解开呢?当然不是。看看问题的症结所在,根源在于DOS中的IO.SYS文件,它包含LOADER、IO1、IO2、IO3四个模块,其中IO1中包含 有一个很关键的程序SysInt_I,它在启动中很固执,非要去读分区表,而且不把分区表读完誓不罢休。如果碰上分区表是循环的,它就只有死机了。这是DOS的脆弱性和不完备性。其 实这也不能怪DOS,因为DOS为了获得硬盘使用权,就必需读分区表参数,而且DOS还约定驱动器号不能超过26,只不过没有考虑到此等循环分区表情形。一句话,机子不能启动不过是 DOS操作系统造成的,如果另写一个操作系统,或许就能启动机子。当然这只是说个笑话。
明白了病因在于DOS,问题就好办了。DOS启动中不是要读硬盘分区表吗?我不让你读分区表甚至连硬盘都不让你读,不就可以顺利启动了。的确是这样的,开硬盘锁 的程序实现方法就是基于这个思想形成的。当然,这只有从软盘启动着手了。
看看计算机的启动过程,上电首先进行的多项硬件自测跟我们没有关系,我们关心的只是它最开始和磁盘打交道时是干什么。如果选择从硬盘启动,则计算机和磁盘 最开始打交道是将硬盘0柱面0磁头1扇区的内容读入内存0000:7C00处并跳到0000:7C00处执行;如果选择从软盘启动,则计算机和磁盘最开始打交道是将A盘0磁道0磁头1扇区的内容 读入内存0000:7C00处并跳到0000:7C00处执行,在执行过程中,计算机并不检查该扇区的内容是什么,只机械地执行读命令,这使得许多系统型病毒得以生存。但利用这一点,恰 恰使我们的程序解锁法有了用武之地。如果我们用DOS格式化一张可以启动机子的系统软盘,将该软盘的0磁道0磁头1扇区的内容移到后面的空白扇区中,而重新写一段程序到该软盘 的0磁道0磁头1扇区,这样用软盘启动时首先执行的是我们所写的程序了。在这段程序中,具备这样一些功能:在DOS启动前抢先拦截INT13H,驻留高端内存并监视INT13H,判断是否读硬盘,如果是读硬盘就直接返回,这样就禁止了读硬盘,也就避免了DOS读硬盘循环分区表造成的死机;同时拦截对软盘的读取,如果读软盘的0磁道 0磁头1扇区,就改成读真正有引导程序和磁盘参数表的扇区,免得DOS在启动中找不到软盘的磁盘参数表而死机。完成这些任务的同时,还要读取软盘真正的引导程序并把控制权交给它。
该方法可以称为万能的,因为它在用软盘启动中,始终不与硬盘打交道,这样不管你硬盘用什么方法加锁,对DOS的启动都没有影响。当然,这样启动的机子是不认硬盘的,但这没有关系。你可在机子启动后,用Debug调出驻留高端内存的新INT 13H程序,将其改为只有一条直接执行旧INT 13H的语句,这样在Debug下可以用INT 13H读取硬盘0柱面0磁头1扇区的内容,如果你有备份,将分区表参数恢复后再写入0柱面0磁头1扇区,重新启动计算机就可以了。如果实在没有备份,去掉分区表中的 循环链,用正常DOS启动盘重启机子后至少也可以重新对硬盘分区,不至于硬盘被锁住打不开了。
程序及说明
1·下面是写入软盘0磁道0头1扇区的源程序key.com,程序用debug输入。
C>debug
-a100
100 CLI
101 XOR AX,AX
103 MOV DS,AX
105 MOV ES,AX
107 MOV SS,AX
109 MOV AX,7C00
10C MOV SP,AX
10E STI
10F MOV SI,AX
111 MOV DI,7E00
114 CLD
115 MOV CX,0200
118 REPNZ
119 MOVSB
11A JMP 0000:7E1F
11F MOV CX,0003
122 PUSH CX
123 MOV AX,0201;读启动软盘的引导扇区
126 MOV BX,7C00
129 MOV CX,4F01
12C MOV DX,0100
12F INT 13
131 POP CX
132 DEC CX
133 JNZ 0122
135 MOV AX,;抢先获取INT 13H的位置
138 MOV ,AX
13B MOV AX,
13E MOV ,AX
141 MOV AX,
144 DEC AX
145 MOV ,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 ,AX
0163 MOV AX,ES
0165 MOV ,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 BX,1000;最后一个磁道的首扇区
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下能否启动,然后再用此软盘启动机子试试,看看功效如何?
从该软盘启动后,不认硬盘,并且在高端内存驻留了新INT13H程序,该段程序实际上是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下用INT13H的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很容易操作和实现。有了备份分区表信息,就不怕破坏分区表的病毒了;
再加上我给你的程序,即使有人真锁住了你的硬盘,你也可以轻而易 举解开了。
Last edited by sgtao on 2005-12-13 at 14:23 ]
### Principle of Hard Disk Locking
A hard disk logical lock usually tamper with the partition table of the hard disk, so first, one should understand the hard disk partition table. The hard disk partition table is located in cylinder 0, head 0, sector 1. The first more than 200 bytes of this sector are the master boot program, and from 01BEH onwards, there are 64 bytes of the partition table. The partition table is 64 bytes long and is divided into 4 columns, each column being 16 bytes, used to describe a partition. If partitioned using the DOS FDISK program, at most two columns are used. The first column describes the basic DOS partition, and the second column describes the extended DOS partition.
The structure of one column of the partition table and the meaning of each byte are as follows:
- 00H - Active byte. An active DOS partition is 80H, others are 00H.
- 01H - The head number of the logical sector 0 of this partition.
- 02H - The sector number in the cylinder of logical sector 0.
- 03H - The cylinder number of logical sector 0.
- 04H - Partition type flag.
- 05H - The head number of the last sector of this partition.
- 06H - The sector number of the last sector.
- 07H - The cylinder number of the last cylinder.
- 08H - The total number of sectors before this partition on the hard disk, represented by a double word.
- 0CH - The total number of sectors of this partition, counted from logical sector 0, excluding hidden sectors, represented by a double word.
Although the cylinder number and sector number given in the above introduction each occupy one byte, actually, the sector number is represented by 6 bits, and the cylinder number is represented by 10 bits. The highest two bits of the byte where the sector number is located are actually the highest two bits of the cylinder number.
The last two bytes of the partition table are the valid flag of the partition table. If it is changed, booting from the hard disk will not be possible. This is a simple method to lock the hard disk. The solution is to boot from a floppy disk, and the hard disk can still be used after booting. Use Debug or Diskedit software in Norton to restore the flag in the partition table of the hard disk, and then booting from the hard disk will also be fine. Another method to lock the hard disk is to tamper with the partition parameters. If all partition parameters are changed to 0, when booting, since the partition parameters cannot be found, booting from the hard disk is impossible. After booting from a floppy disk, the hard disk is not recognized. If you type the drive letter C and press Enter, a prompt "Invalid driver specification" will appear. But fortunately, the computer can still be booted. It doesn't matter if the hard disk is not recognized. On drive A, you can still use DOS Debug to read the content of cylinder 0, head 0, sector 1 of the hard disk, modify it, and then write it back to cylinder 0, head 0, sector 1. Restarting the computer will be fine again. If the partition table parameters are arbitrarily changed to other parameters, it may not be possible to boot with a DOS system disk that can install DOS. After pressing F3 to exit, a memory allocation error will occur, and a prompt that the command interpreter COMMAND of DOS cannot be loaded will appear, and the system will crash. The author has encountered such a situation. But with a floppy disk formatted as a system disk, it can be booted smoothly. As long as there is Debug, you can still modify the partition table parameters back. The terrible thing is that if you unfortunately change the partition table parameters to a cyclic chain, that is, the next partition of drive C points to drive D, and the next partition of drive D points to drive C, and so on cyclically, when DOS or WIN95 boots, due to endless reading of logical drives, it will only crash. As long as the hard disk exists, whether you use a floppy disk or a hard disk, the computer cannot be booted. Since the inability to boot is caused by the hard disk, even if you remove the hard disk and put it on another computer, it cannot be used. Thus, the hard disk is completely locked. The author has encountered such a situation. If you don't believe it, you can just change the 1D0H at cylinder 0, head 0, sector 1 of the hard disk to 1 (if the starting cylinder number of your drive D is not large enough, this place is originally 1), and change the 1D1H to 0, indicating that the starting cylinder number of drive D is the same as that of drive C, and see if your computer can still boot. But don't try it without sufficient preparation.
A complete hard disk locking program is nothing more than rewriting the boot program of cylinder 0, head 0, sector 1, and destroying or deliberately creating a cyclic partition table, while placing the real hard disk partition table parameters and boot program in other hidden sectors and protecting them. If the password is incorrect during booting, the computer cannot be booted. If the password is correct, it can be booted smoothly. For such a hard disk locking program, in a good situation, it can be booted from a floppy disk; in a serious situation, even the floppy disk cannot be booted, and the hard disk is really locked.
### Program Method to Unlock the Hard Disk Lock
If the hard disk is locked, is it really impossible to unlock it? Of course not. Let's see the crux of the problem. The root lies in the IO.SYS file in DOS, which contains four modules: LOADER, IO1, IO2, IO3. Among them, IO1 contains a very critical program SysInt_I, which is very stubborn during booting and must read the partition table, and will not stop until it finishes reading the partition table. If it encounters a cyclic partition table, it will only crash. This is the fragility and incompleteness of DOS. Actually, this cannot be blamed on DOS, because in order to obtain the right to use the hard disk, DOS must read the partition table parameters, and DOS also stipulates that the drive number cannot exceed 26, but it did not consider such a cyclic partition table situation. In a word, the computer cannot be booted only because of the DOS operating system. If another operating system is written, perhaps the computer can be booted. Of course, this is just a joke.
After understanding that the cause of the problem is DOS, the problem is easy to solve. Doesn't DOS need to read the hard disk partition table during booting? If we prevent it from reading the partition table or even prevent it from reading the hard disk, it can be booted smoothly. Indeed, this is the case. The implementation method of the hard disk locking program is based on this idea. Of course, this can only start from booting from a floppy disk.
Let's look at the computer boot process. The multiple hardware self-tests carried out first when power is on have nothing to do with us. What we care about is what it does when it first deals with the disk. If booting from the hard disk is selected, the computer first deals with the disk by reading the content of cylinder 0, head 0, sector 1 of the hard disk into memory 0000:7C00 and jumping to 0000:7C00 to execute it. If booting from a floppy disk is selected, the computer first deals with the disk by reading the content of track 0, head 0, sector 1 of drive A into memory 0000:7C00 and jumping to 0000:7C00 to execute it. During execution, the computer does not check what the content of this sector is, but mechanically executes the read command, which makes many system viruses survive. But using this point, it just gives our program unlocking method a place to use. If we use DOS to format a system floppy disk that can boot the computer, move the content of track 0, head 0, sector 1 of this floppy disk to the subsequent blank sectors, and rewrite a section of program to track 0, head 0, sector 1 of this floppy disk, then when booting from the floppy disk, the program we wrote will be executed first. In this section of program, it has such functions: intercept INT13H in advance before DOS boots, stay in the upper memory and monitor INT13H, judge whether it is reading the hard disk, and if it is reading the hard disk, directly return. This prohibits reading the hard disk, thus avoiding the crash caused by DOS reading the cyclic partition table of the hard disk. At the same time, intercept the reading of the floppy disk. If it is reading track 0, head 0, sector 1 of the floppy disk, change it to reading the sector that really has the boot program and the disk parameter table, so as to avoid DOS crashing because it cannot find the disk parameter table of the floppy disk during booting. While completing these tasks, it is also necessary to read the real boot program of the floppy disk and hand over the control to it.
This method can be called universal because when booting from a floppy disk, it never deals with the hard disk, so no matter how the hard disk is locked by any method, it has no impact on the booting of DOS. Of course, the computer booted in this way does not recognize the hard disk, but this is okay. After the computer boots, you can use Debug to transfer the new INT 13H program staying in the upper memory, change it to a statement that directly executes the old INT 13H. In this way, under Debug, you can use INT 13H to read the content of cylinder 0, head 0, sector 1 of the hard disk. If you have a backup, restore the partition table parameters and then write them back to cylinder 0, head 0, sector 1. Restarting the computer will be fine. If there is really no backup, remove the cyclic chain in the partition table. After restarting the computer with a normal DOS boot disk, you can at least re-partition the hard disk again, so that the hard disk will not be locked and cannot be opened.
### Program and Instructions
1. The following is the source program key.com written to track 0, head 1, sector 1 of the floppy disk. The program is input with debug.
C>debug
-a100
100 CLI
101 XOR AX,AX
103 MOV DS,AX
105 MOV ES,AX
107 MOV SS,AX
109 MOV AX,7C00
10C MOV SP,AX
10E STI
10F MOV SI,AX
111 MOV DI,7E00
114 CLD
115 MOV CX,0200
118 REPNZ
119 MOVSB
11A JMP 0000:7E1F
11F MOV CX,0003
122 PUSH CX
123 MOV AX,0201;Read the boot sector of the boot floppy disk
126 MOV BX,7C00
129 MOV CX,4F01
12C MOV DX,0100
12F INT 13
131 POP CX
132 DEC CX
133 JNZ 0122
135 MOV AX,;Pre-emptively obtain the position of INT 13H
138 MOV ,AX
13B MOV AX,
13E MOV ,AX
141 MOV AX,
144 DEC AX
145 MOV ,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;Copy the rewritten INT 13H program to the upper memory
155 MOV DI,0000
158 MOV CX,0030
15B REPNZ
015C MOVSB
015D MOV AX,0000;Write the new INT 13H position to the interrupt vector table
0160 MOV ,AX
0163 MOV AX,ES
0165 MOV ,AX
0168 JMP 0000:7C00
016D PUSHF;New INT 13H program
016E CMP DX,0080;Is it the hard disk
0172 JNZ 0176;If not the hard disk, continue
0174 POPF
0175 IRET;If it is the hard disk, directly return
0176 CMP DX,+00;Is it reading the boot area of the floppy disk?
0179 JNZ 0186
017B CMP CX,+01
017E JNZ 0186
0180 MOV CX,4F01;If yes, read track 79, head 1, sector 1
0183 MOV DX,0100
0186 POPF
0187 JMP 0000:0000;Jump here to execute the old INT 13. The position of the old INT 13H is obtained earlier and written.
N key.com
RCX
200
W
Q
2. Loading of the program
Before carrying out the following work, first use DOS to format a bootable system disk, and ensure there are no bad sectors. It is best to carry out a boot test to ensure that it can boot the computer. Since most computers now only have a 3-inch floppy drive, choose a 3.5-inch floppy disk with 1.44M.
Then use debug key.com to load the program key.com into memory at offset address 100H, and at the same time write a loading program at 400H. That is:
C>debug key.com
-a400
400 MOV CX,0003
403 PUSH CX
404 MOV AX,0201;Read the boot program of drive A into memory at 1000H
407 MOV BX,1000;To ensure success, read 3 times repeatedly for the first time
40A MOV CX,0001
40D MOV DX,0000
410 INT 13
412 POP CX
413 DEC CX
414 JNZ 0403
416 MOV AX,0301;Write the read boot program of the floppy disk to the floppy disk
419 MOV BX,1000;The first sector of the last track
41C MOV CX,4F01
41F MOV DX,0100
422 INT 13
424 MOV AX,0301;Write the key.com program to track 0, head 1, sector 1 of the floppy disk
427 MOV BX,0100
42A MOV CX,0001
42D MOV DX,0000
430 INT 13
432 INT 3
To be absolutely safe, it is best to read the content of these two sectors of the floppy disk again to ensure that the writing is successful. After doing all this, it is still safe to carry out a test, that is, boot the computer once with this floppy disk and see if it is successful. If it boots successfully, you can use the cyclic partition table method to lock the hard disk, see if it can be booted from the normal DOS, and then boot the computer with this floppy disk to see how effective it is?
After booting from this floppy disk, the hard disk is not recognized, and the new INT13H program stays in the upper memory. This section of program is actually the part from 16D to 187 in key.com. Due to the existence of this section of program, the hard disk cannot be read under debug, and thus the hard disk partition table cannot be restored. Therefore, after the computer boots, this section of program should be modified first. The basic memory of the current computer is usually 640K, so this section of program is located at 9FC0:0000 in the memory. Under debug, use U9FC0:0 to display this section of program. You can see that at 9FC0:001A, there is a jump instruction, which jumps to execute the original INT 13H. Since the BIOS version is different, the position pointed to by the jump instruction may be different. For example, on the computer, there is a JMP F000:A5D4 statement. At this time, under debug, write such a statement: a9FC0:0 JMP F000:A5D4. In this way, the writing and reading ban on the hard disk no longer work. Under debug, use the 2nd sub-function of INT13H to read the hard disk partition table, modify and restore it, and then use the 3rd sub-function to write the data back to the partition table. Exit debug and restart the computer with the normal DOS.
By the way, under the normal DOS, since this floppy disk has no boot area, there is no disk parameter table, and thus it cannot be used. The command DIR A: will appear a General failure reading drive A prompt. Ignore it, which does not affect it as a special boot disk.
### Suggestion
To better protect your hard disk, the author suggests that you had better back up the partition table information of your hard disk. There are two ways to back up.
One is to store the partition information of each logical disk of the hard disk in the form of a file. The other is to back up the partition information in the hidden sectors of the hard disk. For example, you can back up cylinder 0, head 0, sector 1 to cylinder 0, head 0, sector 3, back up the starting cylinder number of drive D, head 0, sector 1 to cylinder 0, head 0, sector 3 of the same cylinder, and so on for other logical disks. This method is simple, convenient, and very reliable. It is very easy to operate and implement with DISKEDI in NORTAN. With the backed-up partition table information, you are not afraid of viruses that destroy the partition table; plus the program I gave you, even if someone really locks your hard disk, you can easily unlock it.
Last edited by sgtao on 2005-12-13 at 14:23 ]
|