Board logo

标题: [转帖]DOS浅析 [打印本页]

作者: nre     时间: 2003-5-21 00:00    标题: [转帖]DOS浅析

随着计算机的广泛应用,计算机的知识普及已成为应用和管理的重要组成部分。我国的个人电脑使用较为普遍的是DOS操作系统,当前席卷全球的计算机病毒所感染的也基本上是DOS操作系统的机器。因此对操作系统和磁盘使用有较全面的认识,将使计算机的应用和管理水平有所提高,同时为预防计算机病毒以及解毒提供了强有力的工具和途径。本文侧重概述DOS操作系统的引导过程、操作系统下磁盘的引导扇区、文件分配表(FAT)、目录表(FCB)、磁盘的格式化等。

一、操作系统的引导过程

当开机上电时,计算机的硬件系统就会产生一个复位脉冲,这个复位脉冲直接送到80X86芯片的管脚上,80X86芯片接到这个脉冲后,其硬件逻辑就会置CS寄存器为FFFFH,IP寄存器为0000H,也就是说,会自动地到FFFF:0000H去取第一条指令,转移到系统版上8KBROM--BIOS程序。该程序首先运行加电自检模块,若自检正常,则转入INT19H调用,进行系统引导,若自检有错,则显示错误信息进入死循环。

在进行系统引导时,引导程序还要对外挂ROM进行扫描,若扫描到硬盘控制器中的ROM(起始地址为C800:0000H,其中放的是2KB硬盘设备驱动程序),则进行软中断的重新分配,把原INT13H给硬盘,软盘中断改为INT40H,然后进行操作系统的引导。

首先,引导程序试图将软盘驱动器A:上0头、0道、1扇区(BOOT)引导记录读到起始地址为0000:7C00H的内存单元中,若成功,则执行软盘上引导程序,引导操作系统;若不成功,则将硬盘的0头、0道、1扇区的硬盘主引导记录读到起始地址0000:7C00H的内存单元中,并执行该硬盘主引导程序,其作用是将当前活动分区的分区引导程序也读到上述内存单元中,以完成该分区操作系统的引导。

从上面的叙述不难看出,硬盘与软盘引导系统的最大差别在于,硬盘要执行其物理第一扇区中的主引导程序之后才能转入相应分区逻辑第一扇区中与软盘类似的分区引导程序。

二、磁盘的引导扇区

磁盘的扇区分配由两个部分组成,第一部分只有一个扇区,这就是0道(柱)、0头、1扇区,也就是整个磁盘的第一扇区(物理上),这就是磁盘的主引导扇区。第二部分是供各个操作系统使用的扇区。

(一)、软盘的主引导扇区

主引导扇区内容由FORMAT创建,引导记录可分为四部分:

1、3字节转移指令(供系统盘用);

2、8字节含厂商标志、操作系统版本号;

3、BIOS参数块(共19字节,亦称BPB参数表);

4、引导代码,包含了自举程序的实际代码,引导代码仅对操作系统盘有效;

当该盘作系统盘时,执行转移指令,转到引导代码,执行自举程序,将DOS装入内存。

下面主要介绍BIOS参数块,通过该参数块可获得文件分配表、主目录及数据区起始扇区号。从主引导扇区第12个字节内容开始,具体的含义如下:

12-13字节:描述扇区大小(字节);

14字节:每簇所占扇区个数;

15-16字节:保留扇区数;

17字节:FAT(文件分配表)个数;

18-19字节:主目录(FCB)大小(文件个数);

20-21字节:磁盘总扇区数;

22字节:介质描述符(FD双面双密度360KB软盘,F9双面高密度1.2MB软盘,F8硬盘);

23-24字节:每个FAT表所占扇区数;

25-26字节:每道扇区数;

27-28字节:磁头个数;

29-32字节:隐含扇区数;

33-36字节:(只对硬盘有效)。当分区总数>FFFFH时,总扇区数填入此处,且20-21处值为0(此时分区容量>32M)。

注:

(1)以上凡占2个字节的,前一字节是低位,第二字节是高位;

(2)所表示的数均是16进制数(各字节内容);

对软盘来说,主引导扇区是物理第一扇区,也是逻辑O(第1个)扇区,可用DEBUG的L、W命令进行读、写操作。

(二)、硬盘的引导扇区

1、硬盘的主引导扇区(隐含扇区)

该扇区主要由两个部分组成:主引导程序和分区信息表。分配如下表:

地址偏移硬盘0道(柱)、0头、1扇区

0000H―――主引导记录及一些数字0

01BEH―――第一分区表(16字节)

01CEH―――第二分区表(16字节)

01DEH―――第三分区表(16字节)

0IEEH―――第四分区表(16字节)

01FEH―――55H

01FFH―――AAH

硬盘主引导扇区内容由FDISK.COM创建。整个硬盘空间最多划分为4个分区,可提供4个操作系统共享,每个操作系统占一个分区,如整个硬盘只提供一个操作系统使用,则其它三个分区的长度即所占扇区数为0。在IBM-PC、长城系列及其兼容机上,可通过FDISK.COM来指定各分区的大小和起止的柱面号、扇区号等;分区信息表就是用来保存这些分区信息的。分区信息表由4项组成,每项占16个字节。每一分区信息的各字节内容如下述:

第1字节:为引导标志。如该字节内容为0,表示系统加电或复位自检时,不从这个分区引导操作系统。如果该字节值为80H,则表示系统加电冷启动或热启动时,从这个分区中引导操作系统。在系统冷、热启动时,引导过程会检查分区信息表所有4项中的这个引导标志。DOS的FDISK.COM命令可以置某分区中这个字节值为80H,而置其余分区的这个字节值为0。

第2字节:为本分区起始磁头号。

第3字节:为本分区起始的扇区号。在这个字节中只有低6位是表示扇区号,而高2位则表示起始柱面号的最高2位。

第4字节:为本分区起始的柱面号。

第5字节:为本分区操作系统代码。DOS3.0以下版本,该字节值为01,3.0以上版本该字节值为04,5.0以上版本为06等,当该字节值为
02、03时,则表示该分区的操作系统为XENIX。该字节值为63,表示该分区的操作系统为NIX。该字节值为65,表示该分区的
操作系统为NetWare。

第6字节:本分区结束的磁头号。

第7字节:本分区结束扇区号。其中高2位表示结束柱面号的高2位。

第8字节:本分区结束柱面号。

第9-12字节:在本分区之前已经使用掉的扇区数。

第13-16字节:本分区所使用的扇区数。

硬盘的主引导程序在硬盘的第一扇区中,它是各操作系统的共同部分。它的作用就是查看分区信息表中的4个分区引导标志,当某一分区的引导标志为80H时,主引导程序就把这一分区的第一个扇区(逻辑0扇区)读到内存0000:7C00H处,并从那儿开始执行。主引导程序是属于隐含扇区的,只能用以下两种方法进行读写操作:

(1)、用中断13H实现,用下面的小程序段:

MOVDX,0080硬盘0磁头;

MOVCX,00010道第1扇区;

MOVBX,0200缓冲区地址200处作为起始;

MOVAX,0X01X=2表示读1个扇区,X=3表示写一个扇区;

INT13H磁盘I/O中断;

执行该段程序,就可对硬盘主引导扇区进行读、写操作。

(2)、系统启动后,通过修改内存中的硬盘驱动器参数表(BPB),将总扇区数改为原总扇区数加隐含扇区数,隐含扇区数改为0,则可用DEBUG.COM的L、W命令对主引导扇区进行读、写(事实上,经过上述改动后,主引导扇区已变为逻辑0扇区)操作。

2、分区引导扇区

DOS分区引导程序占据着该分区的第1扇区(逻辑0扇区),内容与软盘的主引导扇区基本相同,只不过BPB参数表的具体值不同。DOS分区引导程序不一定就在硬盘的物理第二扇区,需根据隐含扇区数定。这一扇区的逻辑号总是0。
分区引导程序由FORMAT创建。

三、FAT表、FCB和数据区起始扇区号计算方法及簇号和扇区号的关系

为以下叙述文件分配表(FAT)、目录表(FCB)的方便,将以下涉及的有关换算关系先在这里列出:

第一个FAT表总是从逻辑1扇区开始;

第二个FAT表起始扇区号=1+FAT表长;

主目录起始扇区号=1+2个FAT表长;

数据区起始扇区号=1+2个FAT表长+主目录长;

S=(C-2)*(扇区数/每簇)+数据区起始扇区号,其中:S表示数据(文件)所在的逻缉扇区号,C表示数据(文件)所在的簇号。以上关系式中,起始扇区号均表示逻辑扇区号。

四、DOS对文件的空间分配

DOS进行格式化时对磁盘空间按如下分配:

(1)引导部分;

(2)文件分配表的第一拷贝;

(3)文件分配表的第二拷贝;

(4)根目录;

(5)数据区;

注:以上分配对软盘而言是整个盘空间,对硬盘而言是DOS分区部分。

文件的空间分配(在数据区中)仅当需要时才进行(不是预先分配)。每次分配一簇的空间(分配单位),一簇总是一个或多个连续的扇区。文件分配中,文件所有的簇是链在一起的,对多磁头介质(磁盘),调整盘簇使头的移动减到最少。在转到下道上去时,要分配完本道(柱)的全部空间。这个过程是这样进行的,先使用编号最低的顺序扇区,然后移到下一个头的扇区,按此法进行下去直到道的所有头的扇区使用完。再往下,就是下一道的0头1扇区。

数据区域里的文件无需按序写到盘上。每次分配一个簇的数据空间,跳过已分配的簇,找到的第一块空闲的簇便是下一个要分配的簇,不考虑其在硬盘空间上的物理位置。这样可高效率利用盘空间,因为删除文件后可用的簇又能分配给新的文件。

五、文件分配表FAT

DOS使用文件分配表将文件的簇转化为逻辑扇区号,然后,驱动程序就负责找出盘上逻辑扇区。FAT有两个,当采用拷贝、删除、创建、修改文件等操作时(用DOS命令),两个FAT表同时更新,相对应扇区内容一样。但当用调试命令DEBUG.COM的W命令针对扇区操作时,则只写指出的扇区,对另一FAT表相扇区内容不作更新(当用INT13H的AH=3功能调用写盘也是如此)。FAT的内容是文件所占用的簇号及结束标志。DOS3.0以后的版本里,FAT的每一表项有16位和12位两种,12位长的表项最多可表达4096簇,16位长的表项最多可表达65536簇,在DOS下,每簇扇区数是由FDISK.COM和FORMAT.COM命令确定的,且以后不能改变,除非再次运行上述两条命令。在DOS3.0以后版本里,对硬盘使用FDISK.COM命令建立分区时,究竟是使用12位还是16位FAT表项来表示簇号,取决于DOS分区是否大于4096簇,大于时,则建立的FAT每一表项为16位,否则为12位。FAT对文件的分配总是从第2簇开始。它的内容含意如下:

0000H(000H):簇未用或可用;

FFF8-FFFFH(FF8-FFFH):文件结束标志;

FFF7H(FF7H):如果不是分配链部分则表示坏簇;

XXXXH(XXXH):非上述的任何十六进制数,表示文件HEXTCLUSTER的簇号。
文件里第一个簇号保存在文件目录项里,它的取值范围0002-FFEFH(002-FEFH)。

注:四位16进制数对应的是16位表项的FAT,三位16进制数对应的是12位表项的FAT(下同);一般地,FFF0-FFF6H(FF0-FF6H)是用来表示备用簇。

由目录表项里可查到文件的起始族号,由此就可找出文件使用的其它簇号,方法是:

1、将目录表项里文件的起始簇号*2(或1.5);

2、乘积的整数部分是相对FAT的位移量,指出了映射到刚使用的簇的项。这个项含有文件的下一个簇的簇号。

3、对于12位表项的FAT,如果最后一次所用的簇号是偶数,保留低12位,否则保留高12位。

4、如果作为结果的值是FFF8-FFFFH(FF8-FFFH),文件中就不再有簇可用,否则含有下一簇的簇号。

注:以上算法中要注意16进制与10进制的转换,1中乘以2针对16位表项FAT,乘以1.5针对12位表项FAT。

六、文件目录表(FCB)

FORMAT.COM为所有盘建立根目录,它的位置(逻辑扇区号)和项的最大数,可通过BIOS参数块算出。除根目录外的目录实际上是文件,对它们所包含的项是没有限制的,子目录可做为文件来读,使用带有适当的属性字节的扩展FCB来完成。在文件目录表中,一个扇区只有16个文件(目录)项。

1、每一文件(目录)项的各位表示状态0-7字节是文件名。首字节00H表示从未用过,E5H表示用过已删除,2EH表示是目录项,其它表示文件名的第一个字符。

8-10字节是文件扩展名。

11字节是文件属性。01表示只读文件;02表示隐含文件,04表示系统文 件;08表示该目录项包含盘称号的头11个字节,除此之外,不再有其它有用 信息,并且只存在于根目录里(即表示的是磁盘卷标号);10表示该项定义一 个子目录;20表示留档位,文件一但写入或关闭,该位就置位;30表示归档加 子目录;32表示归档加子目录加隐含等等(这里的数01、02...30、32是十六进 制数)。

12-21字节是备用。22-23字节记录文件建立最后一次修改的时间(位映图 如下):

(HH)(MM)(XX)

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

这里:

HH:是小时的二进制记数(0-23),占5位;

MM:是分钟的二进制记数(0-59),占6位;

XX:是以二秒为增量的二进制记数,占5位;

24-25字节表示文件的最后一次修改日期,按位映图如下:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

Y Y Y Y Y Y Y M M M M D D D D D

这里:

9-15位是YY(表示年),值是0-119(1980-2099);

5-8位是MM(表示月).值是1-12;

0-4位是DD(表示日),值是1-31;

26-27字节是文件(目录项)的起始簇号。

28-31字节表示以字节计的文件大小。第一个字包含了大小的低位部分, 两个字的第一字节都是存贮其数字值的低位有效字节。

2、如何寻找子目录及其下的文件目录表

(1)在主目录中找出其子目录的起始簇号;

(2)由簇号与扇区号的转化公式求出逻辑扇区号;

(3)从该扇区开始可查找其子目录下各个文件的目录表项了;

如还想找该子目录下的子目录,再用上法依次进行下去。

注:查找文件的(数据)存贮扇区方法同上类似,但不要进行第3步,再由 起始簇号通过FAT查出所有的簇号,依次找出其存贮的逻辑扇区。

七、磁盘的格式化

磁盘的格式化分为低级格式化(初始化)和高级格式化(FORMAT)。

(一)、磁盘的低级格式化

磁盘的低级格式化是指对磁盘进行物理格式化。一般只在以下情况之 一出现时,才进行操作。

1、当磁盘的0道受到物理损坏(因移动机器前没有进行磁头复位的操作及硬盘磁头的读、写时断电,使磁头划伤磁盘等);

2、用户更换新的硬盘驱动器;

3、在硬盘上试图装入几种不同的操作系统。例如:原来硬盘上装有多用户操作系统XENIX和单用户操作系统DOS,这时还想装入另一种多用户操作系统;

4、在硬盘上出现无法在操作系统下恢复的错误。

对磁盘初始化可以通过以下三种办法进行:

1、借助ROMBIOS程序(针对硬盘)

在控制板上的硬盘ROMBIOS程序中提供了硬盘初始化程序。系统启动后,ROMBIOS为板上带ROM程序的适配器插件板提供了进入系统的方便条件。可由 下列两种形式实现:

(1)在DEBUG状态提示符下,用D命令显示地址C800:0000-000FH之间的内容,确认为ROM:

C800:000055AAXX......其中XX表示ROM长度;

然后,用U命令把0003-000F之间的目标代码反汇编(一般其中有2-3条JMP 指令),查出跳转到ROM中低级格式化程序段去的JMP指令所在存贮单元的首 地址偏移量XXXX,运行命令G。不同的硬盘机器,G命令起始地址的偏移量XXXX可能稍有不同,但一般来说,第二条JMP指令所在单元的首地址偏移量即为XXXX。(如PC/XT及东海0520机)

(2)用以下程序段实现:

MOVAX,07XXAH=07表示驱动器格式化(初始化),用XX扇区内容替代所有扇区;

MOVDX,0080硬盘0磁头;

MOVCX,00010道1扇区开始;

INT13H

INT3H

注:以上所述2种方法在PC/XT及其兼容机长城0520、东海0520上已实现;

2、运行系统盘上(若有)的LOWFORM.EXE低级格式化程序和带低级格式化功能的工具软件;

3、运行随机提供的诊断程序(硬软盘均行);

(二)、磁盘的高级格式化(FORMAT)

当对软盘FORMAT时,将创建主引导扇区,FAT表除前3个字节为FD、FF、FF(双面双密度360KB)外,其它字节置0;对目录表FCB,3.0以上版本将其所有字节全置0,3.0以下版本将第一字节置0,其它字节置F6,数据区所有字节都置F6。

当对硬盘FORMAT时,做以下几项工作:

1、根据建立DOS分区命令FDISK.COM记录在硬盘上的信息,对属于DOS分区部分数据区只进行检测,若有损坏扇区,在FAT表对应的串(簇号)置FFF7H(FF7H),其它的数据一律保留不动;

2、初始化DOS的文件分配表和文件根目录区,将FAT表内容置0,FCB表目录项的第一字节置0。初始化磁盘结构参数表。

3、创建DOS分区引导程序,记录在分区的第一扇区(逻辑0扇区);

若需在硬盘启动机器(加/S参数),则还要建立IBM-BIO.COM、IBMDOS.COM(长城系列机为GWBIO.COM、GWDOS.COM;MS-DOS为IO.SYS和MSDOS.SYS)、COMMAND.COM三个文件。

(三)、对磁盘的磁道进行格式化

对磁道进行格式化是由ROMBIOS提供的13号中断的5号功能完成的。其调用格式如下:

入口:AH=5DH=磁头号DL=盘号CH=磁道号

ES:BX缓冲区必须指向所需地址区段集合,每个区段包含四个字节(C、H、R、N),其中:C=磁道号,H=磁头号,R=扇区号,N=每扇区字节数,以0-3分 别表示每扇区128、256、512、1024字节。

根据以上入口参数,调用13号中断就可对磁盘某一道进行格式化。

例如:可对360KB软盘进行40道、41道的格式化,增加18KB容量,可由以下程序实现:

ES:0100MOVAX,0501AH=5,表示对磁道进行格式化;

ES:0103MOVBX,02X0X=0,3,6,9使得ES:BX

指向对应头、道的内存缓冲区扇区数据识别的地址;

ES:0106MOVDX,0X0XDH=00、01表示0磁头、1磁头,DL=00、01表示A盘、B盘;

ES:0109MOVCX,2X01X=8表示40道,X=9表示41道

ES:010CINT13H 扇区识别数据如下:

C H R

ES:0200 28 00 01 02 28 00 02 02 28 00 03 02 28 00 04 02

ES:0210 28 00 05 02 28 00 06 02 28 00 07 02 28 00 08 02

ES:0220 28 00 09 02 00 00 00 00 00 00 00 00 00 00 00 00

ES:0230 28 01 01 02 28 01 02 02 28 01 03 02 28 01 04 02

ES:0240 28 01 05 02 28 01 06 02 28 01 07 02 28 01 08 02

ES:0250 28 01 09 02 00 00 00 00 00 00 00 00 00 00 00 00

ES:0260 29 00 01 02 29 00 02 02 29 00 03 02 29 00 04 02

ES:0270 29 00 05 02 29 00 06 02 29 00 07 02 29 00 08 02

ES:0280 29 00 09 02 00 00 00 00 00 00 00 00 00 00 00 00

ES:0290 29 01 01 02 29 01 02 02 29 01 03 02 29 01 04 02

ES:02A0 29 01 05 02 29 01 06 02 29 01 07 02 29 01 08 02

ES:0280 29 01 09 02 00 00 00 00 00 00 00 00 00 00 00 00

此时驱动器的电参数表内容为:

0000:0522DF02250209......(该处地址,不同的机器可能有差别)

对于上述,取BX=0200,DX=0001,CX=2801,则对B盘0头(面),40道进行格式化(9扇区/每道),依次修改BX、DX、CX的取值,执行0100-010E之间的程序段就完成了对40道、41道的格式化。然后修改磁盘的BPB参数中软盘的总扇区数,将02D0H改为02F4H,则软盘的容量为387072字节(378KB比原来增加18KB),且DOS(3.0以上版本)可对40道、41道进行正常管理。

对以上分析可知,我们既可以增加软盘的容量,又可以将某些重要信息写入40道、41道中的扇区(用DEBUG的W命令),再将BPB参数表中总扇区数改为02DOH,达到特殊的加密效果,阻止它人读、写及复制。此时在360KB驱动器执行FORMAT也不会破坏40道、41道内容。同时只要对以上程序、驱动器电参数表(格式化参数)、扇区识别数据稍加修改还能格式化出每道多于或少于9个扇区的特殊化磁道(大多数游戏盘就是采取这种机理制作的)。如取电参数表中的N=00,扇区个数为20H,对其它的参数也略加修改,将扇区识别数据内容
相应改动为识别20H扇区、N=00,则可对某道实行每扇区128个字节、32个扇区的格式化,这样的磁道也阻止正常的DOS读、写及复制,在磁道的扇区保存一些重要信息(需要单独编制读、写程序),同样可以达到特殊的加密效果。

本文从操作系统的引导过程、引导扇区、DOS对文件的空间分配、文件和目录分配表的意义及起始扇区的计算方法、磁盘的格式化等方面对磁盘的使用作了浅析,愿广大计算机爱好者通过该文的介绍,能对磁盘的使用有一个较深的认识。
作者: noame     时间: 2003-5-21 00:00
这的确是一片不错的帖子,我觉得这些问题的确有必要说清楚,不知这位朋友是不是看了我得帖子,^_^但如果有自己的总结就更好了。里面有几个问题我想说一下,(其实也不是问题,补充吧)首先,这篇转贴里没有出现0面0道1扇区之类的常见错误,楼主挑选的不错,有不少文章多是copy,写着写着就混淆了,不熟悉的朋友只要记CHS就行了,顺序也就不会错了。其次,这篇文章也有不足,介绍的都是早期fat16的内容,现在有许多参数改变了,而fat32的变化就更大一些,举两例非常重要的参数BPB转贴说是BIOS参数块(共19字节,亦称BPB参数表);但在高版本的dos中(7.0也不算太高)已经变为25个字节,主要还是应用,其实查一查自己的硬盘就知道了。还有就是fat32的问题,他已经用4个字节表示表簇,而且fat表的位置也发生了变化,因此,fat32和fat16有了很大的不同,从空间利用率和执行速度上都不同,dos不正在向fat32发展吗?所以楼主如果在整理一些fat32的资料总结一下就更好了。



[此贴子已经被作者于2003-5-21 3:05:40编辑过]



作者: Wengier     时间: 2003-5-21 00:00
嗯。现在FAT32确实比FAT16还要常见些了。我用的是MS-DOS 7.10,要不是为了偶尔测试一下MS-DOS 6.x等,我的电脑上也根本不会还保留了一个FAT16分区了。
作者: nre     时间: 2003-5-21 00:00
我觉得noname的要求太高了。这篇文章不是仅介绍FAT16/12,而且人家在介绍FAT16/12并没什么错误,以FAT32的格式去批判FAT12/16,这样不合适吧,以这样的篇幅介绍了“引导过程、引导扇区、。。。。”总的来说这篇文章相当有水平的。
noname既然对磁盘操作方面那么精通,应该多发些资料和经验上来嘛。
作者: noame     时间: 2003-5-21 00:00
抱歉,也许使我要求太高了,看来也许是因为性格原因我在这似乎不太受欢迎,那我就不再打搅大家了,精通这方面谈不上,不过资料有一些,因是精华区我不敢乱贴,既然nre朋友要求我就放两篇上来,算是离别赠言吧,版主如果不喜欢就麻烦删一下吧!
1. 软盘数据的逻辑存储
软盘无须低级格式化和分区操作,只需用FORMAT命令做高级格式化即可。经过格式化操作之后,系统将在软磁盘上建立以下的数据结构:
(1) 引导记录(DBR):位于0面0头1扇区,说明磁盘结构信息。
(2) 文件分配表(FAT):用于记录磁盘空间的分配情况,指示硬盘数据信息存放的柱面及扇区的信息指针。
其表项可以是以下四种表示方式之一:
A.一个数字,代表指向另一个簇的指针。
B.数字0,表示一个未使用的簇
C.一个坏扇区标记
D.文件结束标记符EOF
(3) 文件根目录表FDT:一个指示以存入数据信息的索引。记录磁盘上存储文件的大小,位置,日期和时间等数据。
(4) 数据区:存放数据信息。
2. 硬盘中的数据组织
刚刚从厂商处购来的新硬盘既无任何数据,也不能写入任何数据,必须先进行低级格式化,FDISK分区,FORMAT高级格式化后方可使用。
对硬盘的这一系列初始化工作,称之为硬盘准备。过程如下:
低级格式化---------------FDISK分区-------------------FORMAT高级格式化
(1)低级格式化:对硬盘划分磁道和扇区,在扇区的地址域上标注地址信息,并剔出坏磁道。
(2)FDISK:允许整个物理硬盘在逻辑上划分成多个分区(最多4个),以实现多个操作系统共享硬盘空间。如果将整个物理盘全部划归DOS/WINDOWS管理,则FDISK分区的作用是将一个物理盘划分一个主分区和一个扩展分区,然后再将扩展分区划分成一个或多个逻辑盘。在硬盘上建立分区表的同时,FDISK把主引导记录MBR写到硬盘的主引导记录(柱面0,磁头0,扇区1),并激活一个用户指定的分区。
(3)FORMAT:在DOS分区空间划分逻辑扇区,生成DOS引导扇区(即逻辑0扇区)DBR,文件分配表FAT和根文件目录表FDT。硬盘在DOS/WINDOWS的管理下,数据信息由MBR,DBR,FAT,FDT和数据区5个部分组成。与软盘的数据结构相比较,硬盘多了一个数据区MBR(Master Boot Record)。
MBR称为硬盘主引导记录。它是由FDISK建立在硬盘(柱面0,磁头0,扇区1)的硬盘引导记录数据区,用于硬盘启动时将系统控制权转给用户指定的,并在分区表中登记了的某个操作系统区。
硬盘FAT文件系统的数据组织结构:
MBR  DBR  FAT1  FAT2  根目录  数据区  
MBR位于0柱,0头,1扇区 DBR从逻辑0扇区开始
FAT1从逻辑1扇区开始
硬盘FAT32文件系统的数据组织结构:
MBR  DBR  DBR副本  保留扇区  FAT1  FAT2  根目录FDT  数据区  
MBR位于0柱,0头,1扇区 DBR从逻辑0扇区开始
DBR副本从逻辑6扇区开始 FAT1从逻辑32扇区开始
  硬盘的数据区结构与软盘相比较有两点主要区别:
(1) 多了一个独立于操作系统的MBR
(2) 硬盘的FAT1,FAT2和根目录FDT的大小及起止扇区并不固定,它于逻辑盘的容量有关。
虽然硬盘的FAT1,FAT2和根目录FDT表的大小与起始扇区号和逻辑盘的容量有关。但是,根目录FDT的大小总为32个扇区。;
二、硬盘主引导记录(MBR)及其结构
硬盘的0柱面,0磁头,1扇区称为主引导扇区,FDISK程序写到该扇区的内容称为主引导记录(MBR)。该记录占用512个字节,它用于硬盘启动时将系统控制权转给用户指定的,并在分区表中登记了某个操作系统分区。
主引导记录记录磁盘最重要的结构信息。主引导记录是硬磁盘作分区时建立的(Fdisk)。主引导记录包括一小段执行代码(主引导代码)、磁盘特征和硬盘分区表。主引导记录(以及后面介绍的引导扇区)结束的两个字节必须是引导自举标记0x55AA。
软盘无主引导记录。软盘的第一个扇区是引导扇区。虽然每个硬盘包含一个主引导记录, 只有其拥有活动主分区时才用主引导代码。
主引导代码实现下列功能:
* 扫描分区表查找活动分区;
* 寻找活动分区的起始扇区;
* 将活动分区的引导扇区读到内存;
* 执行引导扇区的运行代码。
* 如果主引导代码未完成这些功能, 系统显示下列错误信息:
* Invalid partition table
* Error loading operating system
* Missing operating system
1. MBR的读取
硬盘的引导记录(MBR)是不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它。
2. MBR的组成
一个扇区的硬盘主引导记录MBR由4个部分组成:
(1)主引导程序(偏移地址0000H~0088H),它负责从活动分区中装载并运行系统引导程序。
(2)出错信息数据区偏移地址(0089~00E1为出错信息,10E2H~10BD全为0字节)
(3)分区表(DPT,Disk Partition Table).含4个分区项偏移地址01BEH~01FDH,每个
分区表项长16个字节,共64字节为分区项1,分区项2,分区项3,分区项4).其中,加下划线的16个字节数据就是分区项1(即主分区)的参数.
(4)结束标志偏移地址(01EFH~01FFH的两个字节值为结束标志55AA,如果该标志错误系统就不能启动).
3. MBR中的分区信息结构
占用512个字节的MBR中,偏移地址01BEH~01FDH的64个字节,为4个分区项内容(分区信息表)。它是由磁盘介质类型及用户在使用FDISK定义分区时确定的。每个分区表的项目是16个字节。
4. 主要功能及其工作流程
启动PC机时,系统首先对硬件设备进行测试,成功后进入自举程序INT 19H。然后读系统磁盘0柱面,0磁头,1扇区的主引导记录MBR内容到内存指定单元0:7C00首址开始的区域,并执行MBR程序段。
硬盘的引导记录是不属于任何一个操作系统的,它先于所有的操作系统而被调入内存并发挥作用,然后才将控制权交给主分区内的操作系统,并让主分区信息表来管理硬盘。
MBR程序段的主要功能如下:
(1) 检查硬盘分区表是否完好
(2) 在分区表中寻找可引导的活动分区
(3) 将活动分区的第一逻辑扇区内容装入内存。在DOS/WINDOWS分区中,此扇区内容称为DOS引导记录。




[此贴子已经被作者于2003-5-21 13:50:55编辑过]



作者: noame     时间: 2003-5-21 00:00
三、引导记录及其结构
磁盘的逻辑0扇区都称为DOS引导扇区,又称为BOOT区。我们可以用DEBUG中的L命令读出DBR扇区的内容。在DEBUG中,L命令的格式是:
-L 内存缓冲区地址,盘号, 起始扇区号, 要读取的扇区数 回车其中,磁盘A,B,C,D,E…..的盘号分别为0,1,2,3,4…….
例如,进入DEBUG后,将D盘DBR扇区的读入内存CS:100的命令为:-L 100,3,0,1 回车
1. DBR扇区的结构
经由FORMAT高级格式化写到该扇区的内容成为DOS引导记录DBR,其主要功能是完成DOS/WINDOWS系统的自举。
以FAT16的硬盘DBR为例,它由以下5个部分组成:
(1) 跳转指令,占用3个字节的跳转指令将跳至引导代码,其内容随DOS版本变化。
(2) 厂商标识和DOS版本号。该部分总共占用8个字节,其内容随DOS版本而不同。
(3) BPB(BIOS Paramenter Block, BIOS参数块)。BPB从第12字节起占用19或25个字节(高版本DOS,包括Win95下DOS7.0)
(4) DOS引导程序。DOS引导程序占用480字节的BOOT代码,负责完成DOS的3个系统文件的装入工作。这部分内容随DOS版本不同而变化。
(5) 结束标志字,结束标志占用2个字节,其值为AA55。
以上5个部分共占用512个字节也正好是一个扇区,因此,称它DOS引导扇区或BOOT区。在该区间的内容中,除了第5部分结束标志字是固定不变之外,其余4个部分都是不确定的,第1,2,4部分都因DOS版本的不同而不同,第三部分的内容也将随DOS版本及硬盘的逻辑盘参数的变化而变化。
DOS引导记录中的BPB参数块从第12(0BH)字节起,这是磁盘的重要参数区。
保留扇区:由操作系统指定的被保留用作引导区的扇区数。(即BOOT扇区)
介质描述:向操作系统提供的所用磁盘的性质。不同的介质具有不同的介质描述值,硬盘的介质描述符为"F8"。
隐含扇区数:一般用于硬盘分区,所以在软盘中该值为0,在硬盘分区中,它表示从磁盘起始扇区至当前分区之前的总扇区数。
硬盘的每一个分区都是一个独立的"逻辑驱动器",DOS将每个分区都视为一个从0开始的连续扇区块。每个分区的隐含扇区取决于该分区以前的扇区总数。即0柱面0磁头1扇区至0柱面1磁头1扇区之间的扇区数(以上指对硬盘而言),这些扇区不能为DOS所访问,故为隐含扇区。
DBR的主要功能:
DOS/windows系统在引导的时候,DBR是第一个(除硬盘的MBR之外)需装载的程序段。DBR装入内存后,即开始执行该引导程序段,其主要任务是装载DOS的系统隐藏文件IO.SYS。
DBR程序段所完成的主要任务如下:
(1) 重新设置引导驱动器
(2) 将根目录的第一个扇区(即根目录FDT中的前16个文件项)装载到内存;
(3) 检查FDT中的前两个文件是否DOS的两个系统隐藏文件。(IO.SYS和MSDOS.SYS)
(4) 将其中一个系统隐藏文件IO.SYS装载到内存。
(5) 将控制权交给该系统隐藏文件IO.SYS。
四,文件分配表FAT
  文件分配表FAT(File Allocation Tabel)是文件管理系统用来给每个文件分配磁盘物理空间的表格,它告诉操作系统,文件存放在磁盘什么地方。
  文件分配表型文件系统是微软操作系统最传统和应用最广的文件系统。标准的 FAT 使用 16 位寻址方式, Windows 95 OSR2中引入 FAT32 方案。FAT16 簇数的上限是 2 的 16 次即 65536 个, 每簇扇区数的上限是 64 个, 因此其分区空间的上限为 2G(Windows NT/2000 每簇扇区数可为 128, FAT16 空间扩充到 4G); FAT32 簇使用 32 位寻址方式, 其中高 4 位保留, 实际簇数最多为 2 的 28 次, 同时受当前磁盘物理结构和工业标准的限制,一个磁盘或磁盘阵列中扇区最大个数为 2 的 32 次, 空间为 2 的 41 次即2TB。Windows 2000 将 FAT32 卷的大小限制为 32GB。
  文件系统的全部目的是跟踪文件, 具体描述即需要说明整个磁盘分区中每个存储单元(簇)的使用情况、文件数据的簇存储情况(连续或碎片)以及树型目录结构的描述。FAT 实际上是一个卷中所有簇使用情况的映射表, 每个文件/目录都同表中的若干项对应联系, 并在目录中进行索引。FAT32 是 FAT 的扩展, 支持 32位寻址, 保留了簇映射和目录索引的基本结构。
文件分配表(FAT)由表标识和簇映射(旧称表目)的集合组成。一个完全相同的镜像副本连续存储在主 FAT 表后。
表标识符包括磁盘介质描述符( 1 字节)和填充字节, 总计占两个簇的簇映射区域(这大概也就是 FAT 文件系统簇号由 2 开始的原因 ?), 填充字节一般为 FF。FAT32 的填充字节中还包含"脏位", 即系统启动时执行磁盘检查(FAT-ChkDsk/NTFS-AutoChk)。
FAT 实际上由 FAT12 和 FAT16 构成, 其簇映射值分别为 12 和 16 位, 其他的全部存储逻辑均相同, 当总簇数大于 4080(FF0h)时为标准的 16 位 FAT。FAT 簇映射中, 0000 表示空簇, FFFF 表示簇链结束, FFF7 表示坏簇, 其余值表示其后续簇的簇号。FAT12 和 FAT32 的存储策略同 FAT16 类似, 例如 FAT12的结束簇为 FFF, FAT32 的坏簇为 0FFFFFF7 等(注意 FAT32 的高 4 位保留)。
  FAT 具有紧凑和高速的优点。通过对磁盘的数字化描述, FAT 记录了每个文件的位置和区域。自然这些优点的得到是有代价的, FAT 的代价是寻址空间的局限(2GB)和簇内空间的浪费, FAT32 的 FAT 表则占据了过多的磁盘空间, 如果操作系统操作一个相对大的分区依然试图将整个 FAT 表放进内存, 其占据的空间和时间资源将相当可观, 同时会导致系统的脆弱, 特别是磁盘碎片很多时, 甚至可能造成系统的崩溃, 至少将影响正常系统的健壮。
引导扇区 BIOS 参数表`
  磁盘 BIOS 参数表(BPB)描述磁盘的逻辑结构, 是 DOS 文件系统在磁盘上存取文件的依据, 文件存取中的簇与逻辑扇区之间的相互映射以及逻辑扇区与物理扇区之间的相互映射都需要借助于该表。 磁盘 BIOS 参数表存放于每个格式化磁盘的起始即磁盘引导扇区, 对于软盘为第一扇区, 对于硬盘为分区第一扇区, 从第 12 字节开始。
下表为典型的 FAT32 引导扇区 BIOS 参数表(FAT16 包括 FAT12):
偏移  长  典型数值  适用  名称  描述  
0X0B  2  0002     每扇区字节数  硬件扇区的大小。有效值为512、1024、2048和4096,一般为512  
0X0D  1  08     每簇扇区数  数据区每个簇的扇区数。操作系统只能访问有限的簇数,通过对每簇扇区数的修改访问容量叫大的卷。每卷簇扇区数取决于卷容量,其有效值在1至128间(2的整幂数。Windows2000限制FAT32分区最大限度为32GB,但可访问其他操作系统如Windows95OSR2建立的更大分区。  
0XOE  2  2000     保留扇区数  包括引导扇区内的从卷开始到第一个FAT的扇区数。典型的FAT32保留扇区数为32,FAT为1。  
OX10  1  02     FAT数目  卷的FAT拷贝数目,为2  
OX11  2  0000  FAT16  根目录入口数  根目录存储的32字节文件和目录名入口个数。硬盘一般为512,其中的一个为卷标。FAT32中此值为0  
OX13  2  0000  FAT16  (小)扇区数  卷扇区数为16(<65536时)。否则为0,扇区数在FAT32中此值为0  
OX15  1  F8     介质描述符  硬盘为OXF8,高密度3.5英寸软盘为OXF0。Windows2000已不用。  
OX16  2  0000  FAT16  每个FAT扇区数  每个FAT扇区数,卷中每个FAT占据的扇区数。操作系统使用隐含扇区数,保留扇区数和本参数。计算根目录起始地址,并根据根目录入口地址数计算数据区起始地址。FAT32为0。  
OX18  2  3F00     每磁道扇区数  磁盘每道物理扇区数。INT13H访问磁盘用的参数,在多磁头和柱面卷中折算到磁道中。  
OX1A  2  FF00     磁头数  磁盘每道磁头数。例如3.5英寸1.44MB软盘的磁头数为2  
OX1C  4  EE39D700     隐含扇区数  卷引导扇区前的扇区数。用于在引导过程中计算根目录和数据区的绝对地址,此值一般仅相关于INT13H可访问的介质,在非分区介质中必须为0。  
OX20  4  7F324E00     (大)扇区数  如果(小)扇区数为0,在此表明卷扇区总数。如果(小)扇区数非0,则此参数为0。  
OX24  8  83130000  FAT32  每个FAT扇区数  FAT32卷中每个FAT占据的扇区数。操作系统使用隐含扇区数,保留扇区数和本参数,计算根目录起始地址,并根据根目录入口数计算数据区起始地址  
OX28  2  0000  FAT32  扩展标志  两字节结构包括:0..3位:活动FAT数目(从0开始,不是1),仅在无镜像有效4..6位:保留7位:0代表FAT在任何时刻镜像至所有的FAT,1代表仅有一个活动的FAT(关联于0..3位)8..15位:保留  
0X2A  2  0000  FAT32  文件系统版本  高字节为主版本号,低字节为辅版本号。用于将来FAT32升级时区分版本,如果此值非0,低版本Windows不妨问卷  
OX2C  4  02000000  FAT32  根目录簇号  根目录的首簇号,一般为2,但有可能不是  
0X30  2  0100  FAT32  文件系统信息扇区号  在FAT32保留扇区中存放文件系统信息结构的扇区号。典型的值为1。引导扇区的文件系统信息结构备份于该扇区,但不保持刷新  
0X34  2  0600  FAT32  引导扇区备份  非0值表示引导扇区备份在隐含扇区的位置,典型值为6,不推崇其他值  
OX40  1  80     物理驱动器号  描述BIOS物理磁盘编号。软盘为0X00,硬盘为80,一般BIOS INT13H调用磁盘时用。此值只对可启动设备有效。  
OX41  1  00     保留  此值为0  
0X42  1  29     扩展标志  扩展引导标志必须为0X28或OX29  
0X43  4  A88B3652     卷序列号  格式化磁盘时随机随机生成的序列号,用于帮助分区磁盘  
0X47  11  NO NAME     卷标  曾经使用,卷标现以特殊入口方式存于根目录  
OX52  8  FAT32     文件系统类型  FAT16或FAT32文字域  

原始的磁盘基数表(现操作系统已放弃)
磁盘基数表存放磁盘进行 I/O 操作时用于控制硬件的基本参数, 位于引导扇区的 21h 字节。表中每项对应一个字节。
偏移  含义  
21  高 4 位为步进速率, 低 4 位磁头卸载时间  
22  马达等待时间(延迟关闭)  
23  每扇区字节数(0-128,1-256,2-512,3-1024 等)  
24  每道扇区数  
25  扇区间间隔字节数  
26  每扇区字节数(当24为0时)  
27  格式化操作对扇区间隔的填充字节  
28  格式化操作对扇区数据区的填充字节  
29  寻道后磁头稳定时间  
2A  执行命令的最长等待时间  
2B   
1. FAT表的大小及位置
  FAT在磁盘上是安排在紧接DOS引导扇区DBR之后的,在FAT16中,它总是从磁盘的逻辑1扇区开始。
  在磁盘上共有FAT表的两个拷贝(一个是基本FAT表FAT1,另一个是FAT表的备份FAT2),两者在磁盘上前后紧排在一起,其大小根据分区的大小不同而变化。FAT表之后紧接着是根目录,根目录之后是数据区。在硬盘中,FAT16的文件分配表仍然是存放在逻辑1扇区开始的若干个扇区内,一个文件分配表占用多少个扇区根据硬盘分区和逻辑盘的容量大小情况的不同而不同。
2. 文件的簇号链
  磁盘格式划后,用户文件是以簇为单位存放在数据区中的,一个文件至少占用一个簇,当一个文件占用多个簇时,这些簇的簇号是不一定连续的,但这些簇号之间有由存储该文件时确定了的顺序,即每个文件都有其特定的簇号链。
  在磁盘上的每一个可用的簇在FAT中就只有一个登记项,通过在对应簇号的登记项内填入表项值来表明数据区中的该簇是以占用,空闲或是已损坏的。损坏的簇是在格式化的过程中,通过FORMAT命令发现的,在一个簇中,只要有一个扇区有问题,该簇就不能使用了。磁盘上的簇在FAT中的表项占12,16或32位。在FAT16文件系统中,每簇在FAT中所取表项值是占12位还是16位与所用磁盘的容量有关,12位表项值可表示4096个簇,若磁盘的簇数大于4096,则必须用16位表项值。一般来说,软盘和小于20740个扇区的硬盘DOS分区用12位映射一个簇,如多于20740个扇区的硬盘分区,则采用16位的FAT。


作者: nre     时间: 2003-5-21 00:00
noname  你发的2个帖子很有学习价值。特别是关于FAT32方面的。我一直在寻找这方面的资料,但作用甚微。希望以后能多发些这类高质量的帖子。

[此贴子已经被作者于2003-5-22 11:56:03编辑过]



作者: Wengier     时间: 2003-5-22 00:00
看来两位发的帖子的意义都很深刻呢。
作者: 6618     时间: 2003-5-26 00:00
我办公室的电脑显示:disk boot faiure,insert system disk and press enter!请各位告知如何修复!!
作者: nre     时间: 2003-5-26 00:00
我的经验:

如果是硬盘不能启动一般就3个问题

1。 MBR                                             主引导记录不正确
2。 ACTIVE                                        没激活主分区
3。 BOOT SECTOER / BOOT FLIES        引导扇区不正确或引导文件被破坏

解决:
1。  fdisk /mbr
2.     fdisk    选2 再选择要激活的主分区
3。  sys x:  "x"是作为启动盘的盘符

如果是软盘,只存在第3个问题。

作者: steven101     时间: 2003-5-28 00:00
佩服!
作者: bgn     时间: 2003-5-28 00:00
真的是很长见识。谢谢。

作者: ichen     时间: 2003-6-2 00:00
好文章
作者: hesiemens     时间: 2003-6-3 00:00
一句讲细:必睇无疑!
作者: lhc_dos     时间: 2003-6-5 00:00
8错。说得挺详细的。楼上的,好像每个帖子都能看到你的身影,呵呵
作者: happy     时间: 2003-6-5 00:00
两位的帖子真好,多谢!
作者: 开心就好     时间: 2003-6-22 00:00
我的天啊都是高手啊
作者: GOTOmsdos     时间: 2003-8-9 00:00
拜读大作! 不胜感激! 听君两席言,胜读十卷书! 解开我很多疑点! 尤其是启动全过程.
不过,我想斗胆补充一下芝麻漏洞,望晾.
  第一篇,文件目录表不是fcb (file control block,文件控制块),是fdt(file directory table)
第二篇,硬盘数据结构跟软盘的区别:应加上,硬盘分区表(DPT, disk partition table)软盘没有.



作者: yxawu     时间: 2003-8-15 00:00
大哥:
你能不能告诉我 FORMAT C: /S /Q 是什么意思
还有SETUP /IS /ID /IF /IM 是什么意思
我的QQ是133515396
我的信箱是yxawu@163.com
作者: zlb     时间: 2003-8-16 00:00
是加系统,快格
下面的是,免检测,免制做启动盘,免文字等
作者: shen2k3     时间: 2003-8-22 00:00
谢谢,好文章!
作者: yingzi     时间: 2003-10-21 00:00
我为什么发不了帖子,另外我在电脑上看vcd时。光驱明明是读了的!为什么一打开就没有了!用播放软件也放不出来!希望给为给回复到:mianyangyi@mail.china.com或42719231
作者: lopato     时间: 2003-10-23 00:00
hao
作者: nmgtlwh     时间: 2003-10-24 00:00


  Quote:
以下是引用yingzi在2003-10-21 20:20:29的发言:
我为什么发不了帖子,另外我在电脑上看vcd时。光驱明明是读了的!为什么一打开就没有了!用播放软件也放不出来!希望给为给回复到:mianyangyi@mail.china.com或42719231

不明白你说的是什么,详细点好吗?
作者: tanz     时间: 2003-12-4 00:00
好学上进。
作者: hincer     时间: 2004-1-1 00:00
up
作者: skywindows     时间: 2004-1-6 00:00
有谁能告诉我如何在dos里面建立一个后缀名为txt的文件。
谢谢!我的wyg4791@yahoo.com.cn
我的QQ是124216659
作者: lianjl     时间: 2004-1-10 00:00
顶!!!看了大家的帖子,我仿佛又进入了90年代刚刚学习电脑时的境界!
作者: oneyes     时间: 2004-1-19 00:00


  Quote:
以下是引用nre在2003-5-26 23:36:14的发言:
我的经验:

如果是硬盘不能启动一般就3个问题

1。&nbsp;MBR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;主引导记录不正确
2。&nbsp;ACTIVE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;没激活主分区
3。&nbsp;BOOT&nbsp;SECTOER&nbsp;/&nbsp;BOOT&nbsp;FLIES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;引导扇区不正确或引导文件被破坏

解决:
1。&nbsp;&nbsp;fdisk&nbsp;/mbr
2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fdisk&nbsp;&nbsp;&nbsp;&nbsp;选2&nbsp;再选择要激活的主分区
3。&nbsp;&nbsp;sys&nbsp;x:&nbsp;&nbsp;&quot;x&quot;是作为启动盘的盘符

如果是软盘,只存在第3个问题。

还有一个原因,硬盘烧了,没有引导信息[em24]
作者: 宇宙飞尘     时间: 2004-1-20 00:00
实在是太好了!
作者: 瓶子     时间: 2004-4-10 00:00
胜读十年书!
作者: tyjjk     时间: 2004-4-17 00:00
厉害,请问,你是搞硬盘维修的吗?
作者: 燕三     时间: 2004-4-27 00:00


  Quote:
以下是引用oneyes在2004-1-19 16:45:44的发言:

  Quote:
以下是引用nre在2003-5-26&nbsp;23:36:14的发言:
我的经验:

&nbsp;如果是硬盘不能启动一般就3个问题

&nbsp;1。&nbsp;MBR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;主引导记录不正确
&nbsp;2。&nbsp;ACTIVE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;没激活主分区
&nbsp;3。&nbsp;BOOT&nbsp;SECTOER&nbsp;/&nbsp;BOOT&nbsp;FLIES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;引导扇区不正确或引导文件被破坏

&nbsp;解决:
&nbsp;1。&nbsp;&nbsp;fdisk&nbsp;/mbr
&nbsp;2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fdisk&nbsp;&nbsp;&nbsp;&nbsp;选2&nbsp;再选择要激活的主分区
&nbsp;3。&nbsp;&nbsp;sys&nbsp;x:&nbsp;&nbsp;&quot;x&quot;是作为启动盘的盘符

&nbsp;如果是软盘,只存在第3个问题。
&nbsp;

还有一个原因,硬盘烧了,没有引导信息[em24]

我的硬盘也出再这个问题,但重启后就可以进入了。是怎么回事呢
作者: tyzzr     时间: 2004-5-5 00:00
呵呵,不幸被我看到
还有一个原因:可能电源线或数据线“年久失修”、接触不良。
导致检测不到盘的存在。^_^
我的机子就常常这样对付我。
作者: jjwj     时间: 2004-5-14 00:00
太棒了,我需要的就是这方面的知识。
作者: 浪子阿飞     时间: 2004-6-17 00:00


  Quote:
以下是引用nre在2003-5-26 下午 11:36:14的发言:
我的经验:

如果是硬盘不能启动一般就3个问题

1。&nbsp;MBR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;主引导记录不正确
2。&nbsp;ACTIVE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;没激活主分区
3。&nbsp;BOOT&nbsp;SECTOER&nbsp;/&nbsp;BOOT&nbsp;FLIES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;引导扇区不正确或引导文件被破坏

解决:
1。&nbsp;&nbsp;fdisk&nbsp;/mbr
2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fdisk&nbsp;&nbsp;&nbsp;&nbsp;选2&nbsp;再选择要激活的主分区
3。&nbsp;&nbsp;sys&nbsp;x:&nbsp;&nbsp;&quot;x&quot;是作为启动盘的盘符

如果是软盘,只存在第3个问题。

对了!但是还要依赖BIOS正确识别硬盘,这些是针对硬盘软故障的。

还有那位说的电源线或数据线“年久失修”、接触不良。加载的设备多,主电源功率不足等
作者: sonic0199     时间: 2004-7-7 00:00
这样的文章太好了,学海无边,希望多能看到这样一些优秀的文章,谢谢!论坛里的高手真是不少啊
作者: 余子枫     时间: 2004-11-18 00:00
好迷茫啊!我是学网络的可是学的东西很少很多你们说的专业词偶都听不明白郁闷啊!有谁能教教俺?
作者: E-Dragon     时间: 2004-12-14 00:00
真的无语了,好强的文章,狂顶一下
作者: chujiafu     时间: 2004-12-19 00:00
论坛好,贴子好。狂顶!!!
作者: ttimber     时间: 2005-1-5 00:00

真的是很长见识。谢谢。

作者: LiveOnLove     时间: 2005-12-20 19:49
以前学的也是FAT16的,有FAT32的知道一些了。呵呵。
作者: enjoyer     时间: 2006-8-16 21:01    标题: noname,你的贴中有一点不明白,请指明,谢谢

noname,你好,你的帖子中出现"0面0道1扇区之类的错误".
请问什么是 ''0面0道1扇区'' 的错误?
还请详细说明,




欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) Powered by Discuz! 2.5