2024年3月16日发(作者:)
计算机是如何从硬盘引导操作系统Windows,Linux的?
——硬盘的逻辑结构介绍——
作者:
ygps2002@
概要:结合本人实际使用的笔记本电脑情况,对计算机硬盘的分区基本知识,操作系统的引导(计算机的启动)过程,
文件系统格式的主要区别等计算机基础知识进行了较详细说明,重要内容配有实际详细截图,即使没有计算机基础知识
也可以一目了然,读后茅塞顿开,原来每天使用的计算机是这样启动滴!能给非计算机专业用户普及知识,计算机专业
人员些许资料参考,深感安慰。本文所有的分区说明均以Windows文件系统为参照,其他文件系统格式请慎重参考。
Key words(关键字):
Disk(磁盘),
Partition(分区),
MBR(Master Boot Record/主引导区),
PBR(Partition Boot Record/分区引导区), EPBR(Extension Partition Boot Record)
Cylinder(柱面),Sector(扇区),Head(磁头),CHS(Cylinder Head Sector),
主分区(primary partition),扩展分区(extension partition),
逻辑分区(logical partition),活动分区(active partition),
文件系统(File System),文件系统格式(File System Type)
双系统(dual boot)
IPL(Initial Program Loader)
MFT(Master File Table)
一,硬盘保存数据的基本知识
硬盘(Hard Disc)的名称由来主要是相对于软盘而来,计算机大发展的前期,保
存数据用的媒介主要有软盘,硬盘。硬盘是将带有磁性的多枚碟片封存在硬质壳体内,
对外(计算机)用标准接口(IDE、SCSI、SATA、SAS,光纤等)来进行连接,交换数据。
为了保存数据,硬盘的物理及逻辑单元划分非常重要,早期的时候,主要的划分参数跟
物理构造是密不可分的。发展到现在,硬盘的物理构造(图1.1)已经发生了结构性的变
化,但对硬盘的主要参数(用于保存数据的逻辑,控制等)依然沿用了早期的术语,虽
然实际物理硬盘中不一定有对应的事物。下面对几个主要概念进行介绍。
1, 简单的物理原理图(图1.2)
虽然今天的硬盘物理构造千差万别,但存取数据
的逻辑构造依然沿用了早期确定下来的标准,主要有
三个参数: Cylinder:柱面, Head:磁头数,
Sector:扇区。
图1.2中的Platter俗称碟片,或者盘片,每一枚
盘片上均配有一个磁头用于读取存储在盘片上的数据,
想象一下看VCD或DVD时的盘片,它只有一面保存
数据,所以只有一个磁头(Head)。碟片可以高速转
动,而磁头固定在沿碟片圆心到外缘边际的任意一处
半径上,可以沿半径向内靠近圆心,或向外到达碟片
图1.2 硬盘的逻辑示意图
图1.1 硬盘的内部物理构造
的最外缘。这样碟片上的一个个同心圆就叫做磁道(Track)。限于磁头的物理大小,磁道之间必须留有间隔(很小)以
防止不同磁道之间的错位读取。物理碟片高速旋转时,磁头就沿着磁道读写数据。再说磁头(Head),硬盘中有上百枚
盘片通过中间的旋转轴串起来,相邻上下盘片之间留有空隙用以设置磁头来读取盘片上的数据。这样,有多少盘面(双
面盘片)就有多少磁头。盘面数等于磁头数。
每个盘片都被磁头划分为数目相等的磁道,并从外缘的“0”开始编号,所有盘片上具有相同编号的磁道在
立体空间中可以形成一个圆柱体,称之为磁盘的柱面(Cylinder)。磁盘的柱面数与单片盘面上的磁道数是相等
的。
磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区(Sector),每个扇区可以存放512个字节
(byte=8位/bit)的二进制数据,磁盘驱动器以扇区为单位向磁盘读取和写入数据。即使最小的文件,只有几个
字节也会占用512字节的存贮空间。注意不是每个磁道都拥有相同的扇区,越靠近圆心的磁道划分的扇区数越少。
即越靠近圆心的磁道,每道保存的数据越少。顺便说明一下,目前所有PC兼容机的块输入输出设备的sector大
小均为512Bytes。
所谓硬盘的CHS,即Cylinder(柱面)、Head(磁头)、Sector(扇区),只要知道了硬盘的CHS的数目,
即可确定硬盘的容量,硬盘的容量=柱面数×磁头数×扇区数×512Byte。
那么CHS的基本参数是多少呢?以本人使用的计算机为例,各参数的值如下:
Cylinder数= 19457个。
Head数= 最大为255,目前硬盘的磁头一般为255个,即有约128枚双面盘片。
Sector数= 63,(?平均值)外缘扇区数应该比此值大,内缘扇区数应该比此值小。
2, 硬盘的容量计算
磁盘的容量大小主要取决于柱面数(Cylinder),即磁道的密度。磁头(Head)和扇区(Sector)数基本上是固定
的。那么根据图1.3的参数来计算一
下硬盘的容量吧:
总柱面数:19,457 × 总扇区数:63
×磁头书:255 × 512Bytes/sector =
160,039,272,960 Bytes 即160GB。
注:Ubuntu Linux的字节数单位换
算采用了10进制,例:
1GB=1000MB,1MB=1000KB,
1KB=1000Bytes,所以上面的磁盘
容量显示为160GB,而不是以前
Windows采用的1024进制下的
149GB。1024进制下
1GB=1024MB,1MB=1024KB,
1KB=1024Bytes。
图1.4为同一硬盘在Windows下看到的磁盘相关参数。也可以看到其他信息如主分区,扩展分区等重要信息,随后
详解。
需要注意一下CHS的次序,逻辑上是先扇区(最小存储单位),再磁头,后柱面。为了统一编号,将所有的扇区从
0柱面,0磁头,1扇区(注意:Sector的起始编号为1)开始一直编号到19457柱面,255磁头,63扇区即
19,547×255×63=312,576,705 。Windows下显示的硬盘分区信息是按照扇区的开始坐标(Start列)~结束坐标(End列)
来定位的。而Linux下仅给出了开始柱面(始点)~结束柱面(终点)的信息,并不代表整个柱面上的扇区或磁头都给
某分区。
图1.3 Linux下显示的硬盘参数


发布评论