BSD分区体系比DOS分区体系简单但要比Apple的分区复杂些。BSD分区被包含在一个由DOS创建的分区中,且只用一个扇区记录必要的分区信息。这样在同一个磁盘上就可以同时安装Windows和BSD操作系统,并且当操作系统启动时可以呈现一个启动选择窗口以供用户选择要启动的操作系统。
位于磁盘0号扇区的主DOS分区表分别为FreeBSD、OpenBSD和NetBSD分区定义的分区类型,值为0xA5、0xA6和0xA9。每个BSD类型DOS分区必须占用主分区表4个分区表项中的一个。例如,有一个磁盘,它的分区表信息如下表所示。
分区表项号 | 分区类型值(十六进制) | 起始扇区号 | 分区大小(扇区数) |
1 | 0B | 63 | 2056257 |
2 | A6 | 2056320 | 6152895 |
3 | A5 | 8209215 | 11790513 |
4 | 未使用 |
|
|
可以看到,这个磁盘共有3个分区:
第一个分区的分区类型值为0x0B,为一个FAT32文件系统分区,该分区起始于63号扇区,分区大小为2056257个扇区。
第二个分区的分区类型值为0xA6,为一个OpenBSD类型DOS分区,该分区起始于2056320号扇区,分区大小为6152895个扇区。
第三个分区的分区类型值为0xA5,为一个FreeBSD类型DOS分区,该分区起始于8209215号扇区,分区大小为11790513个扇区。
BSD分区体系中,最重要的数据结构是磁盘标签,它位于BSD类型DOS分区的第二个扇区,至少占用276个字节的空间。在一些非32位间接寻址中,磁盘标签也可能会位于第一个扇区的某偏移处。磁盘标签中描述了BSD分区的情况。FreeBSD、OpenBSD和NetBSD使相同的结构,但执行上略有差别,我们在此只讨论通常的情况。