Chinaunix首页 | 论坛 | 博客
  • 博客访问: 133563
  • 博文数量: 46
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 450
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-12 15:54
文章分类
文章存档

2010年(2)

2009年(14)

2008年(30)

我的朋友

分类:

2009-03-05 16:19:12

一、必备基础知识:

● 有关扇区编号的基本知识:

介绍一下有关硬盘扇区编号规则的3个易混淆的术语“物理扇区编号“、“绝对扇区编号“和“逻辑扇区编号“。

    我们都知道硬盘扇区的定位有两种办法:

    1. 直接按柱面、磁头、扇区3者的组合来定位(按这种编号方式得到的扇区编号称为物理扇区编号);

    2. 按扇区编号来定位(又分“绝对扇区编号“和“逻辑扇区编号“两种)。

    这两种定位办法的换算关系如下图:(设图中所示硬盘每道扇区数均为63)

    如图所示,由于目前大多数硬盘采用的是一种“垂直分区结构“,故左图一磁头数为2、盘片数为1的硬盘,图中0磁头所对扇区的表示方法就有2种,即:0柱面 0磁头1扇区=绝对0扇区,而1磁头所对扇区的表示方法也有2种,即:1柱面0磁头1扇区=绝对63扇区。如果是如右图所示磁头数为4、盘片数为2的硬 盘,那么则顺着垂直于盘片的箭头线方向进行如图的绝对扇区的编号。

当使用绝对扇区编号时,从柱面0,磁头0,扇区1开始(注:柱面0,磁头0,扇区1只能调用BIOS访问),第一
个扇区编号为0,该磁道上剩余的扇区编号为1到62(设每磁道63个扇区),然后是磁头号为1,柱面为0的63个
扇区,形成的扇区号从63到125。直到该柱面的所有磁头。然后再移到柱面1,磁头0,扇区1继续进行扇区的编
号,即按扇区号,磁头号,柱面号(磁道号)增长的顺序连续地分配绝对扇区号。

    上面,我们说了物理扇区、绝对扇区的编号方式,而逻辑扇区编号由于是操作系统采用的扇区编号方式,而操作系统只能读取分区内部的数据内容,故逻辑扇区是从 各分区内的第一个扇区开始编号,如我们下文对mbr的说明可以知道:mbr这个扇区所在硬盘磁道是不属于分区范围内的,紧接着它后面的才是分区的内容,因 此一般来说绝对63扇区= c:分区逻辑1扇区。

    好,让我们列个表总结一下3种编号方式的不同:

    需要说明的是:本文假设所使用的硬盘每道扇区数都为63。各位手头上所使用的硬盘具体的每道扇区数则可以在BIOS设置内有关硬盘参数的设置内查到。

● 有关MBR、分区表、DBR的基本知识:

☆ 硬盘MBR(硬盘主引导记录)及硬盘分区表介绍

    硬盘MBR就是我们经常说的“硬盘主引导记录”,简单地说,它是由FDISK等磁盘分区命令写在硬盘

    绝对0扇区的一段数据,它由主引导程序、硬盘分区表及扇区结束标志字(55AA)这3个部分组成,如下表:

    这3部分的大小加起来正好是512字节=1个扇区(硬盘每扇区固定为512个字节),因此,人们又形象地把MBR称为“硬盘主引导扇区”。

    这个扇区所在硬盘磁道上的其它扇区一般均空出,且这个扇区所在硬盘磁道是不属于分区范围内的,紧接着它后面的才是分区的内容(也就是说假如该盘每磁道扇区数为63,那么从绝对63扇区开始才是分区的内容)。



☆ 硬盘DBR(硬盘分区引导记录)介绍

    DBR是各个分区自己的引导记录,又称“分区引导记录”,它是由FORMAT高级格式化命令写在各个分区开始处第一个扇区(比如说:主分区C:从1磁头0 柱面1扇区=逻辑1扇区=绝对63扇区)开始,那么C:区逻辑1扇区就是DBR所存放的位置)的一段数据.这段数据主要由以下几个部分组成:

    1.占3个字节的跳转指令;

    2.占8个字节的操作系统厂商标识及版本号;

    3. 占19个字节的分区参数表(又称BPB),里面存放着对该分区进行读写操作时所必备的参数(如该分区内每扇区所包含的字节数、每簇扇区数、每个磁道的扇区数、该分区FAT份数等);

    4.占480个字节的DOS引导代码,它负责把DOS引导文件IO.SYS、MSDOS.SYS装入内存;

    5.占2个字节的结束标志字”55AA”.

    以上5个部分也正好占1个扇区;和MBR有所不同的是:DBR扇区后面一般就紧接着存放该分区的FAT(文件分配表,共2份)。

    综上所述,我们知道硬盘MBR负责总管硬盘分区,只有分区工具才能对它进行读写(如FDISK);而DBR则负责管理某个具体的分区,它是用操作系统的高 级格式化命令(如FORMAT)来写入硬盘的。在系统启动时,最先读取的硬盘信息是MBR,然后由MBR内的主引导程序读出DBR,最后才由DBR内的 DOS引导代码读取操作系统的引导程序,其中任何一个环节出了问题,操作系统都无法正常启动成功,如果是MBR部分出了问题,即使只是”55AA”标志字 丢失或被改为其他值,通常都会出现“无效分区表“、逻辑盘丢失、启动死机等现象;而如果是DBR部分出了问题,通常会出现“未格式化的分区”的错误提示。


☆ 基本知识的延伸

    实际上,在每一个分区的前面,都有一份MBR,在每一个分区的开始处,都有一份DBR。通常我们把存放在绝对0扇区的那份MBR称为主MBR或C分区 MBR。这样我们就能画出如下的MBR、DBR的存放位置表:市面上很多分区表保存软件(如KV3000的分区表保存功能)实际上保存的就是表中各个分区 前MBR区的数据。


通过观察,我们证实了每一个硬盘分区,都有各自的MBR和DBR;操作系统启动时,不论是从硬盘还是从软盘启动,都需要先由BIOS读绝对0扇区的 主MBR,找到标志为80的可引导分区,然后由MBR负责读出该分区内的DBR,再由DBR负责读出存在该分区的系统启动程序(IO.SYS等),最后在 DOS系统程序IO.SYS的指挥下遍历所有的MBR和DBR,从而获知完整的硬盘分区结构。使用FDISK分区时也需要进行同样的过程。而IO.SYS 遍历所有的MBR和DBR的时候,是按照如下表的顺序进行:


阅读(871) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~