返回列表 回复 发帖

用DEBUG弥补FDISK不足!

  FDISK是MSDOS操作系统提供的外部命令, 用它可以
改变硬盘分区的设置。但美中不足的是,FDISK有一些限制
,使用户的某些需求不能实现。例如,FDISK的删除选项
要求必须“自上向下”地进行删除,即要想删除主DOS分区
,必须先删除扩展DOS分区;要想删除扩展DOS分区,必须
先删除所有的逻辑盘。又例如,用FDISK建立分区时不能
指定起始磁道,而FDISK总是尽量把分区安排在硬盘未定义
空间的最前面。再例如,FDISK只提供了删除非DOS分区的
选项,却没有提供建立非DOS分区的功能。如此种种限制
,从微软公司的角度看自然有它的道理,但给广大用户带
来了一些不便却也是实情。有感于此,笔者提出一个建议
:用DEBUG来弥补FDISK的不足!下面举例说明。
  例子:有一个500M硬盘, 前50M为主DOS分区,接下
来的150M是SCO UNIX分区,最后300M为扩展DOS分区(D、E
、F盘各100M)。现准备将SCO UNIX分区删除,把该分区的1
50M空间分配给主DOS分区,即令主DOS分区增至200M。但
是,当用FDISK命令删除主DOS分区时,屏幕显示:“Canno
t delete Primary DOS Partition on drive 1 when an
extended DOS Partition exists”。意思是必须先删除
扩展DOS分区,然后才能删掉主DOS分区。然而,由于D、E
、F盘上重要内容非常多,备份工作量很大,所以删除D、E
、F盘实在不是一个好主意。最后笔者决定:用DEBUG配合
FDISK,完成在保留D、E、F盘的前提下直接删除主DOS分
区的任务。具体方案如下:
  <思路>我们知道,在硬盘主引导记录的分区表中扩展
DOS分区类型标志字节是05H,FDISK命令正是通过它得知
扩展DOS分区的存在的。如果我们把这个字节改成其它某个
数值,那么FDISK将把扩展DOS分区错认为是一个非DOS分
区,这样它就允许用户删掉主DOS分区了。在建立了新的主
DOS分区后,我们再把类型标志字节改回05H,此时由于新
C盘仍然可以识别原D、E、F盘,所以对其中内容亦可照常
使用。
  <步骤>
  用DEBUG.EXE程序修改类型标志字节。
  C:\DOS>DEBUG
  -A
  XXXX:0100 MOV AX,0201
  XXXX:0103 MOV BX,1000
  XXXX:0106 MOV CX,0001
  XXXX:0109 MOV DX,0080
  XXXX:010C INT 13
  XXXX:010E INT 20
  XXXX:0110
  -G
  Program terminated normally
  -D 11BE 11FD
  XXXX:11B0
80 01
  XXXX:11C0 01 00 06 0F 3F 65 3F 00-00 00 61
91 01 00 00 00
  XXXX:11D0 01 66 63 0F 7F 96 A0 91-01 00 F0
B0 04 00 00 00
  XXXX:11E0 41 97 05 0F FF FC 90 42-06 00 A0
71 09 00 00 00
  XXXX:11F0 00 00 00 00 00 00 00 00-00 00 00
00 00 00
  从上面可以看出偏移为11E2H处的字节是扩展DOS分区
类型标志字节。
  -E 11E2
  XXXX:11E2 05.50
  将类型标志字节05H改为50H。
  -A 100
  XXXX:0100 MOV AX,0301
  XXXX:0103
  -G
  Program terminated normally
  -Q
  修改完毕, 退出。
  2.进入FDISK,删掉主DOS分区和150M非DOS分区( 注
意,现在FDISK认为硬盘上有两个非DOS分区,其中300M的
分区实际上就是原来的扩展DOS分区,千万不要删错了!)
。接下来选择建立主DOS分区,把200M空间分配给它,激
活分区,退出,按照提示重新启动计算机。
  3.将一张干净的DOS系统盘插入A驱,引导操作系统。

  A:\>DEBUG
  -A
  XXXX:0100 MOV AX,0201
  XXXX:0103 MOV BX,1000
  XXXX:0106 MOV CX,0001
  XXXX:0109 MOV DX,0080
  XXXX:010C INT 13
  XXXX:010E INT 20
  XXXX:0110
  -G
  Program terminated normally
  -D 11BE 11FD
  XXXX:11B0
80 01
  XXXX:11C0 01 00 06 0F 7F 96 3F 00-00 00 51
42 06 00 00 00
  XXXX:11D0 00 00 00 00 00 00 00 00-00 00 00
00 00 00 00 00
  XXXX:11E0 41 97 50 0F FF FC 90 42-06 00 A0
71 09 00 00 00
  XXXX:11F0 00 00 00 00 00 00 00 00-00 00 00
00 00 00
  -E 11E2
  XXXX:11E2 50.05
  将类型标志字节从50H改回05H。
  -A 100
  XXXX:0100 MOV AX,0301
  XXXX:0103
  -G
  Program terminated normally
  -Q
  修改完毕,退出。
  4.格式化C盘,最后再从硬盘重启DOS,此时C盘已变
成200M,D、E、F盘完好无损,方案实施成功。

                     我是一个呼吸着现在的空气而生活在过去的人
               这样的注定孤独,孤独的身处闹市却犹如置身于荒漠
                                     我已习惯了孤独,爱上孤独
                                 他让我看清了自我,还原了自我
                             让我再静静的沉思中得到快乐和满足
                                   再孤独的世界里我一遍又一遍
                                   不厌其烦的改写着自己的过去
                                             延伸到现在与未来
                                       然而那只是泡沫般的美梦
                                 产生的时刻又伴随着破灭的到来
                         在灰飞烟灭的瞬间我看到的是过程的美丽
                                      而不是结果的悲哀。。。
返回列表