磁盘格式MBR和GPT

MSDOS(MBR)和GPT–早期的Linux系统采用MBR的方式来处理开机引导程序和分区表,这些通常放在磁盘的第一个扇区(512字节)中,但是 MBR分区只能抓取2TB的容量等等的限制,新的分区格式GPT因此产生

一、MBR

MBR位于整个磁盘的的第一个扇区,总体分为三部分:
boot loader:主要作用是把内核加载到内存中,引导系统加载
分区表DPT(16字节×4):保存着磁盘的分区信息,由于DPT只有64字节,因此最多只能划分四个分区,说到底对于磁盘的分区不过只是对DPT的分区 而已,当然了,系统会预留一个扩展分区(Extended),扩展分区本身并不能创建文件系统格式化,对它继续划分,这样就可以划分出更多的分区(逻辑 分区),而且每个逻辑分区中的前几个扇区也会用来记载分区信息。
其中每个16字节包含的内容如下:
第一个字节:80表示活动分区,00表示非活动分区
第二个字节:表示磁头号,占8位
第三个字节:高2位,表示柱面号,低6位,表示扇区号
第四个字节:表示柱面号,占8位,第2 3 4位总共24位,(8位磁头,10位柱面,6位扇区)能表示8G的空间
第五个字节:记录分区类型,0表示分区未使用
创建分区默认是83,更改为8e的效果图:
第六个字节:表示磁头结束号,占8位
第七个字节:高2位,柱面结束号,低6位,扇区结束号
第八个字节:表示柱面结束号,占8位
第九个字节至第十二字节:分区起始LBA地址,隐藏扇区数目
第十三字节至第十六字节:分区结束LBA地址,分区的总扇区数共4×8=32位,能表示2T的空间
结束标志字:55 AA
一个逻辑分区前有一个EBR(512字节),和MBR的结构一样,只是EBR中的前446字节中没有数据,16字节*4中,第一个16字节指向当前逻辑分区,第二个16字节指向下一个EBR,剩下的两个16字节未使用,总之硬盘使用都会先读取MBR,如果硬盘的MBR坏掉,那么这整个硬盘也就坏了。

二、GPT

随着硬盘的容量越来越大,传统的MBR支持的2TB空间已经无法支持现在大容量的硬盘,于此出现了GPT分区格式,GPT使用LBA来处理,并且第一个 LBA为LBA 0(从0开始编号)

  1. 支持128个分区
  2. 使用128位的UUID表示磁盘分区
  3. 仅支持UEFI的启动方式(传统的BIOS只能支持MBR,如果想要只从GPT启动只能使用UEFI)仅支持UEFI的启动方式(传统的BIOS只能支持MBR,如果想要只从GPT启动只能使用UEFI)
  4. GPT使用34个LBA区块记录分区信息,同时为了防止传统的MBR只有一个分区表带来的限制,GPT用磁盘的最后33个LBA作为另一个备份GPT使用34个LBA区块记录分区信息,同时为了防止传统的MBR只有一个分区表带来的限制,GPT用磁盘的最后33个LBA作为另一个备份
    GPT结构

结构:
LBA 0:PMBR (512字节)
对于传统的操作系统默认启动是MBR,因此为了保证GPT下能够启动仅支持MBR的操作系统,预留了512字节作为保护MBR,其结构和MBR类似,其 中的55AA是必须的,在原来的分区表中现在存放着特殊标志的分区,表示为GPT之意,这样不懂GPT分区的管理程序就不会认识该磁盘,进一步保护了磁 盘。
LBA 1:GPT分区头
该LBA区块记录了分区表的位置和大小,GPT备份区的位置,以及校验位(CRC32),操作系统可以根据校验位判断该GPT是否正确,若错误则可以 根据最后的备份恢复该GPT。
LBA 2—33:分区表
每个LBA区块可以划分4个分区记录,所以总共可以有4*32=128个分区记录,每个分区记录512/4=128字节,128字节中分出64字节来表示开始和结 束扇区号,所以每个分区最大限制容量为264*512Bytes=233TB=8ZB。
. . . :分区
GPT格式没有扩展分区的概念,因此每个分区都可以格式化
LBA N-32…LBA N:备份区域

小tips:理论上GPT格式可以无限划分分区(128以上),但是如果划分的过多的话,好像128之后的分区就不能够格式化使用了。

转自:http://blog.51cto.com/13570193/2071816

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值