fmhbk

1、MBR分区表类型的磁盘
主引导记录(Master Boot Record,缩写:MBR),又叫做主引导扇区,它仅仅包含一个64个字节的硬盘分区表。由于每个分区信息需要16个字节,所以对于采用MBR型分区结构的硬盘,最多只能识别4个主要分区(Primary partition)或 (3 个主分区,1 个扩展分区和无限制的逻辑驱动器)。所以对于一个采用此种分区结构的硬盘来说,想要得到4个以上的主要分区是不可能的。这里就需要引出扩展分区了。扩展分区也是主要分区的一种,但它与主分区的不同在于理论上可以划分为无数个逻辑分区。另外最关键的是MBR分区方案无法支持超过2TB容量的磁盘。因为这一方案用4个字节存储分区的总扇区数,最大能表示2的32次方的扇区个数,按每扇区512字节计算,每个分区最大不能超过2TB。磁盘容量超过2TB以后,分区的起始位置也就无法表示了。

PBR (Partition Boot Record) 硬盘分区引导记录:操作系统的引导过程的一个环节,系统启动时顺序 BIOS -> MBR -> DPT(disk partition table) -> PBR-> 寻找根目录下 NTLDR(XP)/bootmgr(WIN7/Vista)/grldr(Grub)/btldr.mbr(BootLink) 等可用于引导的程序。 PBR是各个分区自己的引导记录,又称分区引导记录,它是由FORMAT高级格式化命令写在各个分区开始处第一个扇区(比如说:主分区C:从1磁头0柱面1扇区=逻辑1扇区=绝对63扇区)开始,那么C:区逻辑1扇区就是PBR所存放的位置)的一段数据.这段数据主要由以下几个部分组成:

1.占3个字节的跳转指令;

2.占8个字节的操作系统厂商标识及版本号;

3. 占19个字节的分区参数表(又称BPB),里面存放着对该分区进行读写操作时所必备的参数(如该分区内每扇区所包含的字节数、每簇扇区数、每个磁道的扇区数、该分区FAT份数等);

4.占480个字节的DOS引导代码,它负责把DOS引导文件IO.SYS、MSDOS.SYS装入内存;

5.占2个字节的结束标志字;

以上5个部分也正好占1个扇区;和MBR有所不同的是:PBR扇区后面一般就紧接着存放该分区的FAT

综上所述,我们知道硬盘MBR负责总管硬盘分区,只有分区工具才能对它进行读写;而PBR则负责管理某个具体的分区,它是用操作系统的高级格式化命令来写入硬盘的。在系统启动时,最先读取的硬盘信息是MBR,然后由MBR内的主引导程序读出PBR,最后才由PBR内的DOS引导代码读取操作系统的引导程序,其中任何一个环节出了问题,操作系统都无法正常启动成功,如果是MBR部分出了问题,即使只是"55AA"标志字丢失或被改为其他值,通常都会出现"无效分区表"、逻辑盘丢失、启动死机等现象;而如果是PBR部分出了问题,通常会出现"未格式化的分区"的错误提示。


2、GUID分区表类型的磁盘
GUID(Globally Unique Identifier)全局唯一标识符。这种磁盘,我们通常称为GPT磁盘,GPT全称:Globally Unique Identifier Partition Table Format,一种由基于 Itanium 计算机中的可扩展固件接口 (EFI) 使用的磁盘分区架构。与主启动记录 (MBR) 分区方法相比,GPT 具有更多的优点,因为它允许每个磁盘有多达 128 个分区,因为Windows系统最多只允许划分128个分区,支持高达 18 (EB)千兆兆字节的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余来提高分区数据结构的完整性,还支持唯一的磁盘和分区 ID (GUID),支持2TB以上的大硬盘。

 

分区表头(LBA 1)的格式
起始字节
长    度
内                 容
0
8字节
签名("EFI PART")
8
4字节
修订
12
4字节
分区表头的大小
16
4字节
分区表头(第0-91字节)的CRC32校验,在计算时,把这个字段作为0处理,需要计算出分区串行的CRC32校验后再计算本字段
20
4字节
保留,必须是 0
24
8字节
当前LBA(这个分区表头的位置)
32
8字节
备份LBA(另一个分区表头的位置)
40
8字节
第一个可用于分区的LBA(主分区表的最后一个LBA + 1)
48
8字节
最后一个可用于分区的LBA(备份分区表的第一个LBA − 1)
56
16字节
硬盘GUID(在类UNIX系统中也叫UUID
72
8字节
分区表项的起始LBA(在主分区表中是2)
80
4字节
分区表项的数量
84
4字节
一个分区表项的大小(通常是128)
88
4字节
分区串行的CRC32校验
92
*
保留,剩余的字节必须是0(对于512字节LBA的硬盘即是420个字节)

 

分区项( LBA 2–33)

 

LBA 2–33的位置存放的是分区表项。GPT分区表使用简单而直接的方式表示分区。一个分区表项的前16字节是分区类型GUID。例如,EFI系统分区的GUID类型是{C12A7328-F81F-11D2-BA4B-00A0C93EC93B}。接下来的16字节是该分区唯一的GUID(这个GUID指的是该分区本身,而之前的GUID指的是该分区的类型)。再接下来是分区起始和末尾的64位LBA编号,以及分区的名字和属性。 

 

GPT分区表项的格式
起始字节 长    度 内容
0 16字节 分区类型GUID
16 16字节 分区GUID
32 8字节 起始LBA(小端格式)
40 8字节 末尾LBA
48 8字节 属性标签(如:60表示"只读")
56 72字节 分区名(可以包括36个UTF-16(小端格式)字符)

 

计算机存储单位

计算机存储单位一般用B,KB,MB,GB,TB,EB,ZB,YB,BB来表示,它们之间的关系是:

位 bit (比特)(Binary Digits):存放一位二进制数,即 0 或 1,最小的存储单位。

字节 byte:8个二进制位为一个字节(B),最常用的单位。

1KB (Kilobyte 千字节)=1024B,

1MB (Megabyte 兆字节 简称“兆”)=1024KB,

1GB (Gigabyte 吉字节 又称“千兆”)=1024MB,

1TB (Trillionbyte 万亿字节 太字节)=1024GB,其中1024=2^10 ( 2 的10次方),

1PB(Petabyte 千万亿字节 拍字节)=1024TB,

1EB(Exabyte 百亿亿字节 艾字节)=1024PB,

1ZB (Zettabyte 十万亿亿字节 泽字节)= 1024 EB,

1YB (Jottabyte 一亿亿亿字节 尧字节)= 1024 ZB,

1BB (Brontobyte 一千亿亿亿字节)= 1024 YB.

注:“兆”为百万级数量单位。附:进制单位全称及译音

yotta, [尧]它 Y. 10^24,

zetta, [泽]它 Z. 10^21,

exa, [艾]可萨 E. 10^18,

peta, [拍]它 P. 10^15,

tera, [太]拉 T. 10^12,

giga, [吉]咖 G. 10^9,

mega, [兆] M. 10^6,

kilo,[刻]意漏  K.10^3

分类:

技术点:

相关文章: