电脑技术学习

FreeBSD磁盘标签实例分析

dn001

  图2.31为一个FreeBSD的磁盘标签,这个FreeBSD类型Dos分区起始于磁盘的63号扇区,该磁盘标签位于该FreeBSD类型DOS分区的1号扇区,也就是磁盘的64号扇区。

  图2.31 FreeBSD磁盘标签

  (1)具体分析

  1)  0x00~0x03:4个字节,BSD磁盘标签签名“57455682,可以通过搜索扇区内偏移0字节处的此十六进制值寻找磁盘标签在磁盘上的位置。另外,我们还可以看到,扇区偏移0x84~0x87字节处也有一个同样的签名标志,也可以通过搜索扇区偏移122字节处的此值定位磁盘标签。

  2)  0x08~0x17:16个字节,用来存放驱动器类型名,也就是该BSD类型DOS分区的片名,此处的名字是“ad0s1,通过这个名字我们可以得知这是一个FreeBSD类型的DOS分区,它是磁盘上的第一个分区(片)。

  3)  0x84~0x87:签名“57455682,与0x00字节处的值相同。

  4)  0x8A~0x8B:2个字节,该磁盘标签的分区表可容纳的分区表项个数,此处的值为8(0x0008),即分区表最多可以容纳8个分区表项,我们可以看到分区表的前6个表项已经被使用。由于2号表项通常用于描述整个BSD类型DOS分区,所以真正的BSD分区只有5个。

  5)  0x8C~0x8F:4个字节,引导区域最大字节数,此处的值为8192(0x2000),即16个扇区。

  6)  0x94~0x113:分区表区域,可以容纳8个分区表项,每个表项大小为16个字节,共128个字节。

  现在,我们来分析一下第一个表项(0号表项),以该表项的起始位置为相对偏移0:

  u     0x00~0x03:4个字节,第一个分区大小扇区数,此处的值为1048576(0x100000)。

  u     0x04~0x07:4个字节,第一个分区起始扇区号,此处的值为63(0x3F)。

  u     注意,这个位置是相对于整个磁盘的0号扇区而言的,而并不是相对于FreeBSD类型DOS分区的起始扇区而言的。

  u     0x08~0x0B:4个字节,片段大小字节数,此处的值为2048(0x0800),即4 个扇区。

  u     0x0C~0x0C:1个字节,分区类型,此处的值为7(0x07),说明第一个分区是一个4.2BSD fast file system(FFS)类型分区。

  u     0x0D~0x0D:1个字节,每块片段数,此处的值为8(0x08),即每个块由8个片段组成,因为片段大小为4个扇区,所以块大小为32个扇区。

  (2)其它几个分区表项的分析结果

  1)  由1号表项可以得知,第二个分区大小为997008个扇区,起始于1048639号扇区,这是一个交换分区(类型值为1)。

  2)  2号表项用来描述整个FreeBSD类型DOS分区,大小为16776522个扇区,起始于63号扇区。

  3)  由3号表项得知,第3个分区大小为2594816个扇区,起始于2045647号扇区,是一个4.2BSD fast file system(FFS)类型分区。

  4)  由4号表项得知,第4个分区大小为1048576个扇区,起始于4640463号扇区,是一个4.2BSD fast file system(FFS)类型分区。

  5)  由5号表项得知,第5个分区大小为11087546个扇区,起始于5689039号扇区,是一个4.2BSD fast file system(FFS)类型分区。

  为了查看方便,我们将分区表信息进行列表,如表2.11所示。

  表2.11 分区表信息

表项分区大小扇区数分区起始扇区号分区类型(十六进制)
01,048,576

  (0x00100000)

63

  (0x0000003F)

07―4.2BSD fast file system(FFS)
1 997,008

  (0x000F3690)

1,048,639

  (0x0010003F)

01-交换分区
216,776,522

  (0x00FFFD4A)

63

  (0x0000003F)

整个FreeBSD类型DOS分区
32,594,816

  (0x00279800)

2,045,647

  (0x001F36CF)

07―4.2BSD fast file system(FFS)
41,048,576

  (0x00100000)

4,640,463

  (0x0046CECF)

07―4.2BSD fast file system(FFS)
511,087,546

  (0x00A92EBA)

5,689,039

  (0x0056CECF)

07―4.2BSD fast file system(FFS)
60(0x00000000)0(0x00000000)00
70(0x00000000)0(0x00000000)00

标签: