|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2006-12-13 20:17
|
显示全部楼层
其中:
磁头数(Heads) 表示硬盘总共有几个磁头,也就是有几面盘片,
最大为 255 (用 8 个二进制位存储);
柱面数(Cylinders) 表示硬盘每一面盘片上有几条磁道,
最大为 1024(用 10 个二进制位存储);
扇区数(Sectors) 表示每一条磁道上有几个扇区,
最大为 63 (用 6个二进制位存储)。
每个扇区一般是 512个字节,理论上讲这不是必须的,但好象没有取别的值的。
所以磁盘最大容量为:
255 * 1024 * 63 * 512 / 1024 / 1024 = 8032.5 MB。
在 CHS 寻址方式中,磁头,柱面,扇区的取值范围分别为
0到 Heads - 1, 0到 Cylinders - 1,1到Sectors (注意是从1开始)。
只要确定CHS参数,硬盘就指定相应的磁头到相应的磁道和扇区去读写数据。
2.LBA寻址方式
随着硬盘技术的不断发展,其容量也不断增大,现在的硬盘早就超过了8G的容量,那么现代硬盘又是如何寻址的呢?现在的硬盘都采用线性寻址的方式,即把硬盘上所有可用扇区(假定数目为N)从0到N - 1按序编号,硬盘读写数据时按扇区号寻址,这就是LBA寻址方式(logic block address),扇区编号也就是该扇区的LBA地址。
出于习惯,CHS寻址方式仍被沿用,只是其中参数不再具有实际意义,我们只能把它看作一种逻辑上的磁盘结构划分方式。现代磁盘的柱面数已经突破了1024的限制,最大磁头数和扇区数仍为255和63。相对于LBA来说,CHS模式较为直观,所以磁盘编辑器通常采CHS模式来作为磁盘逻辑结构划分方式。
二、MBR(Master Boot Record)、DPT(Disk Partition Table)、
主分区(Primary Partition)、扩展分区(Extended Partition)
和逻辑分区(Logical Partition)
硬盘的第一个扇区被称为主引导扇区,习惯上称为MBR,CHS参数为0,0,1,LBA参数为0,它包含了硬盘引导程序和硬盘分区表(DPT),作用十分重要,如果MBR扇区受损,那么系统就无法访问这个磁盘了。
1.MBR引导程序概述
MBR扇区的512字节数据中,前446字节(0 to 0x1BD)存放硬盘引导程序代码。电脑从硬盘启动时,系统从硬盘中首先读取MBR引导代码,其流程大致如下:
(1) 将程序代码由0:7C00H移动到0:0600H(注,BIOS把MBR放在0:7C00H处)
(2) 搜索可引导分区,即80H标志
成功:goto 3
失败:跳入ROM BASIC
无效分区表:goto 5
(3) 读引导扇区
失败:goto 5
成功:goto 4
(4) 验证引导扇区最后是否为0xAA55H
失败:goto 5
成功:goto 6
(5) 打印错误进入无穷循环
(6) 跳到0:7C00H进行下一步启动工作
然后MBR引导程序就把系统控制权交给操作系统引导程序。
如果MBR损坏硬盘无法访问,可在DOS下输入:
Fdisk /cmbr X(X = 1,第一块硬盘;X = 2,第二块硬盘),重写主引导记录。
2.硬盘分区表(DPT)
MBR扇区的最后66字节除去末尾的标志0xAA55H(所有引导扇区的标志。由于磁盘编辑器中的显示内容是从低址到高址排列的,所以AA55显示为55AA)外,剩余的64字节被称为硬盘分区表。硬盘分区表包含四个项目,每项16字节,代表四个分区的参数。分区表项的各字节含义如下:
偏移 意义
0 自举标志(80为活动分区,00为非活动分区)
1 起始磁头号H
2 起始扇区号S
3 起始柱面号CYL(CYL的高2位存放在S字节的高2位)
4 分区格式标志(05:DOS Extended;06:BIGDOS FAT16;
07:NTFS;0B:FAT32;
0C: FAT32(对INT 13H指令使用LBA);
0E: FAT16(对INT 13H指令使用LBA);
0F: Extended(对INT 13H指令使用LBA);
82:LINUX Swap;83:LINUX;85:LINUX Extended)
5 终止磁头号H
6 终止扇区号S
7 终止柱面号CYL
8-11 本分区之前已用扇区数(当分区表属于扩展分区中的记录时,
该值为相对扩展分区首地址的位置)
12-15 本分区扇区总数
3.主分区(Primary Partition)、扩展分区(Extended Partition)
和逻辑分区(Logical Partition)
DPT中可定义的分区包括主分区和扩展分区。所谓主分区,是指DPT中包含的能够被系统使用的磁盘分区,它是可以设置为活动的,即可以引导操作系统,一个硬盘只能有一个活动分区;而扩展分区并不能被系统使用,它的作用是突破DPT只能定义4个分区的限制。
其做法是:让DPT在定义主分区后,将多余容量定义为扩展分区,指定该分区的起始位置,根据起始位置指向硬盘的某一扇区,称作虚拟MBR,在其中定义下一个分区表。如果只有一个分区,就定义该分区,然后结束;如果不止一个分区,就定义一个基本分区和一个扩展分区,扩展分区再指向下一个分区表,在下一个分区表中继续定义分区,直至结束。这样就形成一个分区链,可以描述所有的分区。
任何分区表中只能有一个扩展分区,扩展分区不能引导操作系统。位于扩展分区中的可被系统使用的磁盘分区称为逻辑分区,逻辑分区不能设置为活动。由于定义了扩展分区和逻辑分区的概念,windows使用的磁盘盘符可以一直到Z,见下图。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入
x
|
关于我们