硬盘分区表简介

毫无疑问,大多数人都有过对硬盘分区的经验。一块刚买来的新硬盘,必须要经过分区之后才能使用。但是具体的分区信息在硬盘上是怎么存储的呢?分区后的硬盘上有一个重要的数据结构,叫做硬盘分区表。这个数据结构就是保存分区信息的地方。

一般来说,硬盘分区表的第一部分(主分区表)位于硬盘的第一个扇区(主引导记录)中。占据这个扇区的第 446-510 个字节。这是一个 4 个元素的数组,每一项代表硬盘上的一个分区。硬盘分区表项结构可以用下面的 C++ 结构表示

 

 

 

下面我们来解释一下这个结构中的各个字段

对于现在的硬盘, CHS 地址已经基本不用,所以我们可以不用理会那两个 CHS 地址的字段。剩下的 4 个字段中,两个 LBA 地址不用说大家也知道是什么意思。剩下的文件系统标志字节,表明了每个分区上的文件系统,比如对于 FAT16 分区来说,这个字节是 0x06

现在我们来解释一下分区的几总类型。第一种分区类型叫做主分区,也就是在硬盘 MBR 中的分区表中描述的普通分区。但是大家可以看到,主分区表中只能描述 4 个分区。也就是说一块硬盘上只能有 4 个分区。但是假如我们希望一块硬盘上有多余 4 个分区该如何操作呢?为了解决这个问题,人们定义了一种特殊的分区格式:扩展分区。如果一个分区表项的 fileSystem 字段为 0x05 0x0F ,那么这个分区表项就描述了一个扩展分区。一个扩展分区就相当于一块逻辑硬盘。在每个扩展分区的第一个扇区中也有一个分区表,格式和主分区表一样。里面可以定义 4 个分区。每个分区既可以是逻辑分区(可以建立文件系统的分区),也可以是嵌套的扩展分区。以这种方法,我们可以就在硬盘上划分任意多的分区了

 

下图是一个典型的硬盘分区结构

 

 

 

 

现在我们可以来看一下上次的主引导记录关于分区表的代码了,注意,这段代码暂时不支持扩展分区。

 

 

现在,读者应该可以看懂这段代码了

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值