1、基础知识
整个硬盘上一般有很多的盘片组成,沿着盘片半径的方向被划分成了很多同心圆,这就是磁道,每条磁道由很多的扇形区域组成,叫做扇区(扇区是从磁盘读出和写入信息的最小单位,通常大小为512字节),不同盘片上的同半径磁道组成了柱面,这些都是磁盘物理上的概念,知道便可。有了这些概念,便可以计算磁盘的容量:
磁盘容量 = 磁头数x磁道(柱面)数x每道扇区数x每扇区字节数
磁头(head)数:每个盘片一般有上下两面,分别对应1个磁头,共2个磁头,因此,用哪个磁头就可以表示数据在哪个磁面;
磁道(track)数:磁道从盘片外圈往内圈编号0磁道,1磁道…,靠近主轴的同心圆用于停靠磁头,不存储数据;
柱面(cylinder)数:等于磁道数量,所有磁片中半径相同的同心磁道构成“柱面",意思是这一系列的磁道垂直叠在一起,就形成一个柱面的形状。简单地理解,柱面就是磁道;
扇区(sector)数:每个磁道都被切分成很多扇形区域,每个磁道的扇区数量相同;
圆盘(platter)数:就是盘片的数量。
磁盘的结构图如下所示:
1356459767_3856
2、相对扇区号的计算
3.5寸1.44M 软盘,有两个磁头,正反两面各一个;80个磁道(即80个圆圈);每个磁道有18个扇区;每个扇区为512字节。
软盘容量 = 512字节/扇区 x 2面 x 80磁道(柱面)/面 x 18扇区/磁道 = 1440 KB
磁头,即面:编号[0, 1]
80个磁道,即柱面(圆圈):编号[0, 79]
18个扇区:编号[1, 18]
相对扇区号[0, 2879]:相对扇区号按照柱面排序,即从最外头的圆圈到最里头的圆圈。
0柱面正面(即磁头号为0)的1-18扇区为0-17号相对扇区,0柱面反面(即磁头号为2)的1-18扇区为18-35号相对扇区,然后是1柱面,2柱面,直到79柱面。
(1)、知道柱面号,磁头号,扇区号计算相对扇区号
由上面可知0号柱面包含了相对扇区号[0,35],1号柱面包含相对扇区号[36,71],依次类推。
设相对扇区号为N,则
柱面号CH = N / 36;
令x = N % 36;
则x范围为[0,35],其中[0,17] 为磁头号0, [18,35]为磁头号1.
则磁头号DH = x / 18;
令y = x % 18; y范围[0, 17]
则扇区号CL = y + 1。
相对扇区号:N = 36 x CH + 18 x DH + CL。
(2)、知道相对扇区号,计算柱面号、磁头号、扇区号
N = 36 x CH + 18 x DH + CL;
由此式子,也可计算:
CH = N / 36
DH = (N % 36) / 18
CL = (N % 36) % 18 + 1
3、硬盘上的引导信息
硬盘的第一个扇区被称之为Boot Sector。由MBR (MasterBoot Record)、DPT (Disk Partition Table) 和 Boot Record ID 三部分组成。
MBR又称作主引导记录,占用 Boot Sector 的前 446 个字节(0 ~ 0x1BD)。存放系统主引导程序,负责从活动分区中装载并运行系统引导程序。
DPT 即主分区表,占用 64 个字节 (0x1BE ~ 0x1FD),记录了磁盘的基本分区信息。主分区表分为四个分区项,每项 16 字节,分别记录了每个主分区的信息 (因此最多可以有 4 个主分区)。
Boot Record ID 即引导区标记,占用两个字节 (0x1FE ~ 0x1FF)。对于合法引导区,它等于 0xAA55,这是判别引导区是否合法的标志。
编辑:黄飞
评论
查看更多