2.3.2 Apple磁盘布局
由于Apple的构造不同,Apple磁盘没有MBR磁盘中所特有的主引导记录,所以它的0号扇区只用于记录磁盘的一些基本信息。如图2.23所示为一个Apple磁盘的0号扇区(为节省篇幅,只显示了该扇区的前面部分,后面全部为0的部分省略)。可以看到,Apple磁盘的0号扇区只有很少的内容,图2.23中加底纹部分的含义如下。
(1) 0x00~0x01:2个字节,这两个字节一定为0x4552(ER)。
(2) 0x02~0x03:2个字节,每扇区字节数,一般为512。
(3) 0x04~0x07:4个字节,本磁盘扇区数。
下面给出其数据结构定义,有兴趣的读者可以自行研究:
Struct Block0{
}; typedef struct Block() Block0; |
Apple磁盘也不像MBR磁盘那样在引导扇区中建立分区表,而是单独使用一部分扇区存储分区表项(通常起始于整个磁盘的第二个扇区),而且这个分区表区域也有一个分区表项指向它,描述它的起始位置及大小信息,所以我们也可以把分区表区域称为"分区表分区"。
提示:Apple分区体系没有分区数量限制,它的分区表可以描述任意个分区。
一个Apple磁盘的总体布局大致如图2.24所示。
可以看到,在Apple磁盘内,除0号扇区外,其他所有的区域都有分区表项指向它,包括分区表分区本身以及磁盘尾部的空闲空间。
2.3.3 分区表项数据结构