2023年12月16日发(作者:)
硬盘 结构 原理 磁道,扇区和柱面图示
/pspio/blog/item/
/blog/185252 硬盘工作原理(转)
硬盘 结构 原理 磁道,扇区和柱面图示
我们知道硬盘中是由一片片的磁盘组成的,大家可能没有打开过硬盘,没见过它具体是什么样.不过这不要紧.我们只要理解了什么是磁道,扇区和柱面就够了.
在下图中,我们可以看到一圈圈被分成18(假设)等分的同心圆,这些同心圆就是磁道(见图).不过真打开硬盘你可看不到.它实际上是被磁头磁化的同心圆.如图可以说是被放大了的磁盘片.那么扇区就是每一个磁道中被分成若干等分的区域.相邻磁道是有间隔的,这是因为磁化单元太近会产生干扰.一个小软盘有80个磁道,硬盘嘛要远远大于此值,有成千上万的磁道.每个柱面包括512个字节。
那么什么是柱面呢?看下图,我们假设它只有3片.每一片中的磁道数是相等的.从外圈开始,磁道被分成0磁道,1磁道,2磁道......具有相同磁道编号的同心圆组成柱面,那么这柱面就像一个没了底的铁桶.哈哈,这么一说,你也知道了,柱面数就是磁盘上的磁道数.每个磁面都有自己的磁头.也就是说,磁面数等于磁头数.
硬盘的容量=柱面数(CYLINDER)*磁头数(HEAD)*扇区数(SECTOR)*512B.这下你也可以计算硬盘的一些参数了.
什么是簇?
文件系统是操作系统与驱动器之间的接口,当操作系统请求从硬盘里读取一个文件时,会请求相应的文件系统(FAT 16/32/NTFS)打开文件。扇区是磁盘最小的物理存储单元,但由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32或64个扇区。显然,簇是操作系统所使用的逻辑概念,而非磁盘的物理特性。
为了更好地管理磁盘空间和更高效地从硬盘读取数据,操作系统规定一个簇中只能放置一个文件的内容,因此文件所占用的空间,只能是簇的整数倍;而如果文件实际大小小于一簇,它也要占一簇的空间。所以,一般情况下文件所占空间要略大于文件的实际大小,只有在少数情况下,即文件的实际大小恰好是簇的整数倍时,文件的实际大小才会与所占空间完全一致。
硬盘的DOS管理结构
1.磁道,扇区,柱面和磁头数
硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可记录信息。盘片被分成许多扇形的区域,每个区域叫一个扇区,每个扇区可存储128×2的N次方(N=0.1.2.3)字节信息。在DOS中每扇区是128×2的2次方=512字节,盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道。硬盘中,不同盘片相同半径的磁道所组成的圆柱称为柱面。磁道与柱面都是表示不同半径的圆,在许多场合,磁道和柱面可以互换使用,我们知道,每个磁盘有两个面,每个面都有一个磁头,习惯用磁头号来区分。扇区,磁道(或柱面)和磁头数构成了硬盘结构的基本参数,帮这些参数可以得到硬盘的容量,基计算公式为:
存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数
要点:(1)硬盘有数个盘片,每盘片两个面,每个面一个磁头
(2)盘片被划分为多个扇形区域即扇区
(3)同一盘片不同半径的同心圆为磁道
(4)不同盘片相同半径构成的圆柱面即柱面
(5)公式: 存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数
(6)信息记录可表示为:××磁道(柱面),××磁头,××扇区
2.簇
“簇”是DOS进行分配的最小单位。当创建一个很小的文件时,如是一个字节,则它在磁盘上并不是只占一个字节的空间,而是占有整个一簇。DOS视不同的存储介质(如软盘,硬盘),不同容量的硬盘,簇的大小也不一样。簇的大小可在称为磁盘参数块(BPB)中获取。簇的概念仅适用于数据区。
本点:(1)“簇”是DOS进行分配的最小单位。
(2)不同的存储介质,不同容量的硬盘,不同的DOS版本,簇的大小也不一样。
(3)簇的概念仅适用于数据区。
3.扇区编号定义:绝对扇区与DOS扇区
由前面介绍可知,我们可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域,或是说柱面/磁头/扇区与磁盘上每一个扇区有一一对应关系,通常DOS将“柱面/磁头/扇区”这样表示法称为“绝对扇区”表示法。但DOS不能直接使用绝对扇区进行磁盘上的信息管理,而是用所谓“相对扇区”或“DOS扇区”。“相对扇区”只是一个数字,如柱面140,磁头3,扇区4对应的相对扇区号为2757。该数字与绝对扇区“柱面/磁头/扇区”具有一一对应关系。当使用相对扇区编号时,DOS是从柱面0,磁头1,扇区1开始(注:柱面0,磁头0,扇区1没有DOS扇区编号,DOS下不能访问,只能调用BIOS访问),第一个 DOS扇区编号为0,该磁道上剩余的扇区编号为1到16(设每磁道17个扇区),然后是磁头号为2,柱面为0的17个扇区,形成的DOS扇区号从17到 33。直到该柱面的所有磁头。然后再移到柱面1,磁头1,扇区1继续进行DOS扇区的编号,即按扇区号,磁头号,柱面号(磁道号)增长的顺序连续地分配 DOS扇区号。
公式:记DH--第一个DOS扇区的磁头号
DC--第一个DOS扇区的柱面号
DS--第一个DOS扇区的扇区号
NS--每磁道扇区数
NH--磁盘总的磁头数
则某扇区(柱面C,磁头H,扇区S)的相对扇区号RS为:
RS=NH×NS×(C-DC)+NS×(H-DH)+(S-DS)
若已知RS,DC,DH,DS,NS和NH则
S=(RS MOD NS)+DS
H=((RS DIV NS)MOD NH)+DH
C=((RS DIV NS)DIV NH)+DC
要点:(1)以柱面/磁头/扇区表示的为绝对扇区又称物理磁盘地址
(2)单一数字表示的为相对扇区或DOS扇区,又称逻辑扇区号
(3)相对扇区与绝对扇区的转换公式
磁盘区域的划分
格式化好的硬盘,整个磁盘按所记录数据的作用不同可分为主引导记录(MBR:Main Boot Record),Dos引导记录(DBR:Dos Boot Record),文件分配表(FAT:File Assign Table),根目录(BD:Boot
Directory)和数据区。前5个重要信息在磁盘的外磁道上,原因是外圈周长总大于内圈周长,也即外圈存储密度要小些,可靠性高些。
要点:(1)整个硬盘可分为MBR,DBR,FAT,BD和数据区。
(2)MBR,DBR,FAT,和BD位于磁盘外道。
MBR位于硬盘第一个物理扇区(绝对扇区)柱面0,磁头0,扇区1处。由于DOS是由柱面0,磁头1,扇区1开始,故MBR不属于DOS扇区,DOS不能直接访问。MBR中包含硬盘的主引导程序和硬盘分区表。分区表有4个分区记录区。记录区就是记录有关分区信息的一张表。它从主引导记录偏移地址 01BEH处连续存放,每个分区记录区占16个字节。
分区表的格式
分区表项的偏移 意义 占用字节数
00 引导指示符 1B
01 分区引导记录的磁头号 1B
02 分区引导记录的扇区和柱面号 2B
04 系统指示符 1B
05 分区结束磁头号 1B
06 分区结束扇区和柱面号 2B
08 分区前面的扇区数 4B
0C 分区中总的扇区数 4B
4个分区中只能有1个活跃分区,即C盘。标志符是80H在分区表的第一个字节处。若是00H则表示非活跃分区。例如:
80 01 01 00 0B FE 3F 81 3F 00 00 00 C3 DD 1F 00
00 00 01 82 05 FE BF 0C 02 DE 1F 00 0E 90 61 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
要点:(1)MBR位于硬盘第一个物理扇区柱面0,磁头0,扇区1处。不属于DOS扇区,
(2)主引导记录分为硬盘的主引导程序和硬盘分区表。
DBR位于柱面0,磁头1,扇区1,即逻辑扇区0。DBR分为两部分:DOS引导程序和BPB(BIOS参数块)。其中DOS引导程序完成DOS系统文件(,)的定位与装载,而BPB用来描述本DOS分区的磁盘信息,BPB位于DBR偏移0BH处,共13字节。它包含逻辑格式化时使用的参数,可供DOS计算磁盘上的文件分配表,目录区和数据区的起始地址,BPB之后三个字提供物理格式化(低格)时采用的一些参数。引导程序或设备驱动程序根据这些信息将磁盘逻辑地址(DOS扇区号)转换成物理地址(绝对扇区号)。BPB格式
序号 偏移地址 意义
1 03H-0AH OEM号
2 0BH-0CH 每扇区字节数
3 0DH 每簇扇区数
4 0EH-0FH 保留扇区数
5 10H FAT备份数
6 11H-12H 根目录项数
7 13H-14H 磁盘总扇区数
8 15H 描述介质
9 16H-17H 每FAT扇区数
10 18H-19H 每磁道扇区数
11 1AH-1BH 磁头数
12 1CH-1FH 特殊隐含扇区数
13 20H-23H 总扇区数
14 24H-25H 物理驱动器数
15 26H 扩展引导签证
16 27H-2AH 卷系列号
17 2BH-35H 卷标号
18 36H-3DH 文件系统号
DOS引导记录公式:
文件分配表≡保留扇区数
根目录≡保留扇区数+FAT的个数×每个FAT的扇区数
数据区≡根目录逻辑扇区号+(32×根目录中目录项数+(每扇区字节数-1))DIV每扇区字节数
绝对扇区号≡逻辑扇区号+隐含扇区数
扇区号≡(绝对扇区号MOD每磁道扇区数)+1
磁头号≡(绝对扇区号DIV每磁道扇区数)MOD磁头数
磁道号≡(绝对扇区号DIV每磁道扇区数)DIV磁头数
要点:(1)DBR位于柱面0,磁头1,扇区1,其逻辑扇区号为0
(2)DBR包含DOS引导程序和BPB。
(3)BPB十分重要,由此可算出逻辑地址与物理地址。
7.文件分配表
文件分配表是DOS文件组织结构的主要组成部分。我们知道DOS进行分配的最基本单位是簇。文件分配表是反映硬盘上所有簇的使用情况,通过查文件分配表可以得知任一簇的使用情况。DOS在给一个文件分配空间时总先扫描FAT,找到第一个可用簇,将该空间分配给文件,并将该簇的簇号填到目录的相应段内。即形成了“簇号链”。FAT就是记录文件簇号的一张表。FAT的头两个域为保留域,对FAT12来说是3个字节,FAT来说是4个字节。其中头一个字节是用来描述介质的,其余字节为FFH 。介质格式与BPB相同。
第一个字节的8位意义:
7 6 5 4 3 2 1 0
└─────-┘ │ │ │┌0非双面
置1 │ │ └┤
│ │ └1双面
│ │┌0不是8扇区
│ └┤
│ └1是8扇区
│┌0不是可换的
└┤
└1是可换的
FAT结构含义
FAT12 FAT16 意义
000H 0000H 可用
FF0H-FF6H FFF0H-FFF6H 保留
FF7H FFF7H 坏
FF8H-FFFH FFF8H-FFFFH 文件最后一个簇
×××H ××××H 文件下一个簇
对于FAT16,簇号×2作偏移地址,从FAT中取出一字即为FAT中的域。
逻辑扇区号=数据区起始逻辑扇区号+(簇号-2)×每簇扇区数
簇号=(逻辑扇区号-数据区起始逻辑扇区号)DIV每簇扇区数+2
要点:(1)FAT反映硬盘上所有簇的使用情况,它记录了文件在硬盘中具体位置(簇)。
(2)文件第一个簇号(在目录表中)和FAT的该文件的簇号串起来形成文件的“簇号链”,恢复被破坏的文件就是根
据这条链。
(3)由簇号可算逻辑扇区号,反之,由逻辑扇区号也可以算出簇号,公式如上。
(4)FAT位于DBR之后,其DOS扇区号从1开始。
8.文件目录
文件目录是DOS文件组织结构的又一重要组成部分。文件目录分为两类:根目录,子目录。根目录有一个,子目录可以有多个。子目录下还可以有子目录,从而形成“树状”的文件目录结构。子目录其实是一种特殊的文件,DOS为目录项分配32字节。目录项分为三类:文件,子目录(其内容是许多目录项),卷标(只能在根目录,只有一个。目录项中有文件(或子目录,或卷标)的名字,扩展名,属性,生成或最后修改日期,时间,开始簇号,及文件大小。
目录项的格式
字节偏移 意义 占字节数
00H 文件名 8B
08H 扩展名 3B
0BH 文件属性 1B
0CH 保留 10B
16H 时间 2B
18H 日期 2B
1AH 开始簇号 2B
1CH 文件长度 4B
目录项文件名区域中第一个字节还有特殊的意义:00H代表未使用
05H代表实际名为E5H
EBH代表此文件已被删除
目录项属性区域的这个字节各个位的意义如下: 7 6 5 4 3 2 1 0
未 修 修 子 卷 系 隐 只
用 改 改 目 标 统 藏 读
标 标 录 属 属 属
志 志 性 性 性
注意:WINDOWS的长文件名使用了上表中所说的“保留”这片区域。
要点:(1)文件目录是记录所有文件,子目录名,扩展名属性,建立或删除最后修改日期。文件开始簇号及文件长度的一张
登记表.
(2)DOS中DIR列出的内容训是根据文件目录表得到的。
(3)文件起始簇号填在文件目录中,其余簇都填在FAT中上一簇的位置上。
9.物理驱动器与逻辑驱动器
物理驱动器指实际安装的驱动器。
逻辑驱动器是对物理驱动器格式化后产生的。
要点:同上。
=================================================================================
fantaxy:
其实细节之外的最基本东西就是:磁道,扇区,柱面和磁头数
可以这么理解吗?:
1. 扇区
扇区不是扇形的,即不是两个半径之间的区域,而是个四边形:两个半径为两边,两个大小同心圆作为两外两边。
2. 磁道
磁道不是线性的,而是个区域,有两个大小同心圆组成
3. 柱面不是面而是号码相同的多个磁道组成的柱体
4. 磁头数:因为磁盘的双面存储性,使得计算时用磁头数而没有用盘片数
可以说:扇区是硬盘分割的最小单位。
存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数
___________________________|-----磁道的总字节数-----|
_______________|-------磁盘一个盘面的总字节数------------|
__________|-----磁盘容量(磁头数个盘面)--------------------|
硬盘工作原理(转)#硬盘工作原理(转)
关键字: 硬盘 硬盘工作原理 硬盘原理
一、硬盘的物理结构
硬盘存储数据是根据电、磁转换原理实现的。硬盘由一个或几个表面镀有磁性物质的金属或玻璃等物质盘片以及盘片两面所安装的磁头和相应的控制电路组成(图1),其中盘片和磁头密封在无尘的金属
壳中。
硬盘工作时,盘片以设计转速高速旋转,设置在盘片表面的磁头则在电路控制下径向移动到指定位置然后将数据存储或读取出来。当系统向硬盘写入数据时,磁头中“写数据”电流产生磁场使盘片表面磁性物质状态发生改变,并在写电流磁场消失后仍能保持,这样数据就存储下来了;当系统从硬盘中读数据时,磁头经过盘片指定区域,盘片表面磁场使磁头产生感应电流或线圈阻抗产生变化,经相关电路处理后还原成数据。因此只要能将盘片表面处理得更平滑、磁头设计得更精密以及尽量提高盘片旋转速度,就能造出容量更大、读写数据速度更快的硬盘。这是因为盘片表面处理越平、转速越快就能越使磁头离盘片表面越近,提高读、写灵敏度和速度;磁头设计越小越精密就能使磁头在盘片上占用空间越小,使磁头在一张盘片上建立更多的磁道以存储更多的数据。
二、硬盘的逻辑结构
硬盘由很多盘片(platter)组成,每个盘片的每个面都有一个读写磁头。如果有N个盘片。就有2N个面,对应2N个磁头(Heads),从0、1、2开始编号。每个盘片被划分成若干个同心圆磁道(逻辑上的,是不可见的。)每个盘片的划分规则通常是一样的。这样每个盘片的半径均为固定值R的同心圆再逻辑上形成了一个以电机主轴为轴的柱面(Cylinders),从外至里编号为0、1、2„„每个盘片上的每个磁道又被划分为几十个扇区(Sector),通常的容量是512byte,并按照一定规则编号为1、2、3„„形成Cylinders×Heads×Sector个扇区。这三个参数即是硬盘的物理参数。我们下面的很多实践需要深刻理解这三个参数的意义。
三、磁盘引导原理
计算机在按下power键以后,开始执行主板bios程序。进行完一系列检测和配置以后。开始按bios中设定的系统引导顺序引导系统。假定现在是硬盘。Bios执行完自己的程序后如何把执行权交给硬盘呢。交给硬盘后又执行存储在哪里的程序呢。其实,称为mbr的一段代码起着举足轻重的作用。
MBR(master boot record),即主引导记录,有时也称主引导扇区。位于整个硬盘的0柱面0磁头1扇区(可以看作是硬盘的第一个扇区),bios在执行自己固有的程序以后就会jump到mbr中的第一条指令。将系统的控制权交由mbr来执行。在总共512byte的主引导记录中,MBR的引导程序占了其中的前446个字节(偏移0H~偏移1BDH),随后的64个字节(偏移1BEH~偏移1FDH)为DPT(Disk
PartitionTable,硬盘分区表),最后的两个字节“55 AA”(偏移1FEH~偏移1FFH)是分区有效结束标志。
MBR不随操作系统的不同而不同,意即不同的操作系统可能会存在相同的MBR,即使不同,MBR也不
会夹带操作系统的性质。具有公共引导的特性。
我们来分析一段mbr。下面是用winhex查看的一块希捷120GB硬盘的mbr。
你的硬盘的MBR引导代码可能并非这样。不过即使不同,所执行的功能大体是一样的。这是wowocock关于磁盘mbr的反编译,已加了详细的注释,感兴趣可以细细研究一下。
我们看DPT部分。操作系统为了便于用户对磁盘的管理。加入了磁盘分区的概念。即将一块磁盘逻辑划分为几块。磁盘分区数目的多少只受限于C~Z的英文字母的数目,在上图DPT共64个字节中如何表示多个分区的属性呢?microsoft通过链接的方法解决了这个问题。在DPT共64个字节中,以16个字节为分区表项单位描述一个分区的属性。也就是说,第一个分区表项描述一个分区的属性,一般为基本分区。第二个分区表项描述除基本分区外的其余空间,一般而言,就是我们所说的扩展分区。
这部分的大体说明见表1。
表1 图2分区表第一字段
字节位移 字段长度 值 字段名和定义
0x01BE BYTE 0x80 引导指示符(Boot Indicator) 指明该分区是否是活动分区。
0x01BF BYTE 0x01 开始磁头(Starting Head)
0x01C0 6位 0x01 开始扇区(Starting Sector) 只用了0~5位。后面的两位(第6位和第7位)被开始柱面字段所使用
0x01C1 10位 0x00 开始柱面(Starting Cylinder) 除了开始扇区字段的最后两位外,还使用了1位来组成该柱面值。开始柱面是一个10位数,最大值为1023
0x01C2 BYTE 0x07 系统ID(System ID) 定义了分区的类型,详细定义,请参阅图4
0x01C3 BYTE 0xFE 结束磁头(Ending Head)
0x01C4 6位 0xFF 结束扇区(Ending Sector) 只使用了0~5位。最后两位(第6、7位)被结束柱面字段所使用0x01C5 10位 0x7B 结束柱面(Ending Cylinder) 除了结束扇区字段最后的两位外,还使用了1位,以组成该柱面值。结束柱面是一个10位的数,最大值为1023 0x01C6 DWORD 0x0000003F 相
对扇区数(Relative Sectors) 从该磁盘的开始到该分区的开始的位移量,以扇区来计算 0x01CA
DWORD 0x00DAA83D 总扇区数(Total Sectors) 该分区中的扇区总数
注:上表中的超过1字节的数据都以实际数据显示,就是按高位到地位的方式显示。存储时是按低位到高位存储的。两者表现不同,请仔细看清楚。以后出现的表,图均同。
也可以在winhex中看到这些参数的意义:
说明: 每个分区表项占用16个字节,假定偏移地址从0开始。如图3的分区表项3。分区表项4同分区表项3。
1、0H偏移为活动分区是否标志,只能选00H和80H。80H为活动,00H为非活动。其余值对microsoft而言为非法值。
2、重新说明一下(这个非常重要):大于1个字节的数被以低字节在前的存储格式格式(little endian
format)或称反字节顺序保存下来。低字节在前的格式是一种保存数的方法,这样,最低位的字节最先出现在十六进制数符号中。例如,相对扇区数字段的值0x3F000000的低字节在前表示为0x0000003F。这个低字节在前的格式数的十进制数为63。
3、系统在分区时,各分区都不允许跨柱面,即均以柱面为单位,这就是通常所说的分区粒度。有时候我们分区是输入分区的大小为7000M,分出来却是6997M,就是这个原因。 偏移2H和偏移6H的扇区和柱面参数中,扇区占6位(bit),柱面占10位(bit),以偏移6H为例,其低6位用作扇区数的二进制表示。其高两位做柱面数10位中的高两位,偏移7H组成的8位做柱面数10位中的低8位。由此可知,实际上用这种方式表示的分区容量是有限的,柱面和磁头从0开始编号,扇区从1开始编号,所以最多只能表示1024个柱面×63个扇区×256个磁头×512byte=8455716864byte。即通常的8.4GB(实际上应该是7.8GB左右)限制。实际上磁头数通常只用到255个(由汇编语言的寻址寄存器决定),即使把这3个字节按线性寻址,依然力不从心。 在后来的操作系统中,超过8.4GB的分区其实已经不通过C/H/S的方式寻址了。而是通过偏移CH~偏移FH共4个字节32位线性扇区地址来表示分区所占用的扇区总数。可知通过4个字节可以表示2^32个扇区,即2TB=2048GB,目前对于大多数计算机而言,这已经是个天文数字了。在未超过8.4GB的分区上,C/H/S的表示方法和线性扇区的表示方法所表示的分区大小是一致的。也就是说,两种表示方法是协调的。即使不协调,也以线性寻址为准。(可能在某些系统中会提示出错)。超过8.4GB的分区结束C/H/S一般填充为FEH FFH FFH。即C/H/S所能表示的最大值。有时候也会用柱面对1024的模来填充。不过这几个字节是什么其实都无关紧要了。
虽然现在的系统均采用线性寻址的方式来处理分区的大小。但不可跨柱面的原则依然没变。本分区的扇区总数加上与前一分区之间的保留扇区数目依然必须是柱面容量的整数倍。(保留扇区中的第一个扇区就是存放分区表的MBR或虚拟MBR的扇区,分区的扇区总数在线性表示方式上是不计入保留扇区的。如果是第一个分区,保留扇区是本分区前的所有扇区。
附:分区表类型标志如图4
3.2 扩展分区:
扩展分区中的每个逻辑驱动器都存在一个类似于MBR的扩展引导记录( Extended Boot Record, EBR),
也有人称之为虚拟mbr或扩展mbr,意思是一样的。扩展引导记录包括一个扩展分区表和该扇区的标签。扩展引导记录将记录只包含扩展分区中每个逻辑驱动器的第一个柱面的第一面的信息。一个逻辑驱动器中的引导扇区一般位于相对扇区32或63。但是,如果磁盘上没有扩展分区,那么就不会有扩展引导记录和逻辑驱动器。第一个逻辑驱动器的扩展分区表中的第一项指向它自身的引导扇区。第二项指向下一个逻辑驱动器的EBR。如果不存在进一步的逻辑驱动器,第二项就不会使用,而且被记录成一系列零。如果有附加的逻辑驱动器,那么第二个逻辑驱动器的扩展分区表的第一项会指向它本身的引导扇区。第二个逻辑驱动器的扩展分区表的第二项指向下一个逻辑驱动器的EBR。扩展分区表的第三项和第四项永远都不会被使用。
通过一幅4分区的磁盘结构图可以看到磁盘的大致组织形式。如图5:
关于扩展分区,如图6所示,扩展分区中逻辑驱动器的扩展引导记录是一个连接表。该图显示了一个扩展分区上的三个逻辑驱动器,说明了前面的逻辑驱动器和最后一个逻辑驱动器之间在扩展分区表中的差异。
除了扩展分区上最后一个逻辑驱动器外,表2中所描述的扩展分区表的格式在每个逻辑驱动器中都是
重复的:第一个项标识了逻辑驱动器本身的引导扇区,第二个项标识了下一个逻辑驱动器的EBR。最后一个逻辑驱动器的扩展分区表只会列出它本身的分区项。最后一个扩展分区表的第二个项到第四个项被使用。
表2 扩展分区表项的内容
扩展分区表项 分区表项的内容
第一个项 包括数据的开始地址在内的与扩展分区中当前逻辑驱动器有关的信息
第二个项 有关扩展分区中的下一个逻辑驱动器的信息,包括包含下一个逻辑驱动器的EBR的扇区的地址。如果不存在进一步的逻辑驱动器的话,该字段不会被使用
第三个项 未用
第四个项 未用
扩展分区表项中的相对扇区数字段所显示的是从扩展分区开始到逻辑驱动器中第一个扇区的位移的字节数。总扇区数字段中的数是指组成该逻辑驱动器的扇区数目。总扇区数字段的值等于从扩展分区表项所定义的引导扇区到逻辑驱动器末尾的扇区数。
有时候在磁盘的末尾会有剩余空间,剩余空间是什么呢?我们前面说到,分区是以1柱面的容量为分区粒度的,那么如果磁盘总空间不是整数个柱面的话,不够一个柱面的剩下的空间就是剩余空间了,这部分空间并不参与分区,所以一般无法利用。照道理说,磁盘的物理模式决定了磁盘的总容量就应该是整数个柱面的容量,为什么会有不够一个柱面的空间呢。在我的理解看来,本来现在的磁盘为了更大的利用空间,一般在物理上并不是按照外围的扇区大于里圈的扇区这种管理方式,只是为了与操作系统兼容而抽象出来CHS。可能其实际空间容量不一定正好为整数个柱面的容量吧。


发布评论