Chinaunix首页 | 论坛 | 博客
  • 博客访问: 775026
  • 博文数量: 265
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1985
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-13 12:33
文章分类

全部博文(265)

文章存档

2011年(1)

2010年(66)

2009年(198)

我的朋友

分类: LINUX

2009-08-13 14:01:48

分区表和扩展分区表
正如在主引导记录分析中看到的,分区表是一个64字节的数据块,用来识别和定位硬盘上分区的类型和位置,分区表独立于操作系统。每个分区表项是16字节,最多有四项,每项都在MBR的预定义的位置:
 

1. 分区一 0x1BE (446)
2. 分区二 0x1CE (462)
3. 分区三 0x1DE (478)
4. 分区四 0x1EE (494)
 

当分区数小于4时,其余的分区项均为0。下面是一个含有三个分区的分区表例子:
000001B0: 
                                                             80 01
000001C0: 01 00 07 FE BF 09 3F 00 - 00 00 4B F5 7F 00 00 00 ......?...K....
000001D0: 81 0A 07 FE FF FF 8A F5 - 7F 00 3D 26 9C 00 00 00 .........=&....
000001E0: C1 FF 05 FE FF FF C7 1B - 1C 01 D6 96 92 00 00 00 ................
000001F0: 00 00 00 00 00 00 00 00 - 
00 00 00 00 00 00 ..............

 
以这个例子的第一个分区表项来讨论分区表中各项的意义:
 

字节偏移 
域长度    举例数值        域名和定义
0x01BE 
  字节       0x80            引导指示符。指示该分区是否为活动分区。有效值包括

                                           00 - 不用来启动。80 - 活动分区。

0x1BF     字节       0x01            起始磁头。

0x1C0     6比特     0x01            起始扇区。只用到0-5比特。比特6-7是起始柱面域的高两位。

0x1C1    10比特     0x00           起始柱面。包含柱面值的低8位,和起始扇区域的高2位一起构成起始柱面值。

0x1C2       字节     0x07           系统ID。定义卷类型。

0x1C3       字节     0xFE           终止磁头。

0x1C4     6比特     0xBF            终止扇区。只用到0-5比特。比特6-7是终止柱面域的高两位。

0x1C5    10比特    0x09            终止柱面。包含柱面值的低8位,和终止扇区域的高2位一起构成终止柱面值。

0x1C6       双字    0x3F000000  相对扇区。

0x1CA       双字    0x4BF57F00  总扇区数。

 

系统ID可能的值:

0x01          FAT12主分区或逻辑分区。

0x04          FAT16主分区或逻辑分区。

0x05          扩展分区。

0x06          BIGDOS FAT16主分区或逻辑分区。

0x07          NTFS主分区或逻辑分区。

0x0B          FAT32主分区或逻辑分区。

0x0C          使用扩展中断13的FAT32主分区或逻辑分区。

0x0E          使用扩展中断13的BIGDOS FAT16主分区或逻辑分区。

0x0F          使用扩展中断13的扩展分区。

0x12          EISA分区。

0x42          动态磁盘卷。

0x86          遗留的FT(Fault Tolerant) FAT16。

0x87          遗留的FT NTFS。

0x8B          遗留的FT FAT32。

0x8C          遗留的FT 使用扩展中断13的FAT32。

 

我们知道,一个硬盘可以有很多分区,但MBR分区表只有四项,怎么能突破这个限制呢?答案是扩展引导记录(EBR - Extended Boot Record),通过把MBR分区表中一项设为扩展分区(系统ID为0x05或0x0F),其分区表项指定扩展分区的起始位置和长度,在其中最开始扇区 (EBR)和MBR相同位置(0x1BE)放置另外一个分区表,一般称为扩展分区表。扩展分区表的第一项指定扩展分区目前的逻辑分区信息,如果还有更多的 逻辑分区,扩展分区表的第二项指定下一个EBR的位置,否则为0。最后的两个分区表项总是为0。通过这种方式,一个硬盘上的分区数目就没有限制了。
阅读(929) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~