当前位置:   article > 正文

Linux -- 磁盘存储管理 分区类型(MBR,GPT)_linux mbr gpt

linux mbr gpt
首先呢,大家要清楚,在 Linux 上,分区类型有两种 :
一种是 MBR , 一种 GPT ~!!!

我们所谓的分区、分盘,其实是一回事儿。
分区,就是对磁盘划分 逻辑边界, 注意是逻辑边界,并不是物理边界,并不是说我们把磁盘用电锯电成几块儿,不是那样的; 注意 ' 逻辑' 的体会~!!

MBR

官方 MBR(Master Boot Record,主引导记录)是传统的分区机制,使用BIOS引导
的PC设备,寻址空间只有32bit长,最大支持2.19TB

# 官方的解释是 : 因为 MBR 寻址空间只有 32 bit 长,所以导致了 它最大只能支持

2 TB 的硬盘空间

支持分区数量 : 要么 四个主分区 ;
要么 三个主分区 ,一个扩展分区 。

# 就是说,对于 MBR 分区格式来说,它的分区方式是 :

===>>>

要么 直接 四个主分区 。

要么 三个主分区 加 一个 扩展分区

MBR 的分区只有这两种情况~!!!!

# 其实,第二种的分区( 三个主分区,一个扩展分区 ) 是在第一种的基础

上得来的。 大家想一种情况 :

现在有一块儿硬盘,是200 GB ,要进行下 分区划分,化成 四个主分区

的格式,那就意味着 每个分区 50 个 GB(平均分配的话),

这点能想通吧~!!!

接着,那这四个分区各50个 G ,我往这四个分区里存储东西,那有的分

区可能存储的东西就不需要这么大( 不需要 50 个G ) 的存储空间,可

能5个 G 就够了,4个 G ,2 个 G ,就够了呢,不需要 50 个 G 这么大的

存空间呢,要是有个小一点存储空间的分区就好了( 这就是问题所在 )

问题就是 :

===>>>

要是有一个分区( 小一点) 就好了,问题就是没有啊~!!!

你只能有 四个主分区啊,想再来第5 个分区来不了啊~!!!

这呢,就把 扩展分区引出来了。

===>>>

就有了第二种分区方式 ( 三个主分区 加 一个扩展分区 )

MBR 结构

为什么 MBR 最多只能有四个主分区 ??
===>>>
分区表占据 64 个字节,可以对四个分区的信息进行描述,其中每个分区的信息占据 16 个字节

分区类别
主分区

官方 : 一块硬盘最多4个主分区,主分区不可以再进行二次分区。可以用来引导、启

动操作系统 。

同时,主分区可以直接建立文件系统,如windows的NTFS,存放数据。

扩展分区 : 它本身不是真正意义上的分区,本身不承载空间。主要就是增加分区数量

官方 : 一块硬盘最多一个,加主分区最多4个,

不能创建文件系统,可以划分逻辑分区

在扩展分区的基础上,建立逻辑分区~!!!

逻辑分区 可以创建文件系统,存放数据,同时,逻辑分区的数量没有限制。

GPT

官方GPT(GUID Partition Table,全局唯一标识分区表)是一种比MBR分区更先
进、更灵活的磁盘分区模式。

# GPT的分区信息是在分区中,而不象MBR一样在主引导扇区,为保护GPT不受

MBR类磁盘管理软件的危害,GPT在主引导扇区建立了一个保护分区

(Protective MBR)的MBR分区表(此分区并不必要),其类型被标识为0xEE。

结构

我们对上示图做以注解 :

# 从上图可以看到的是,GPT 的结构是有着 主备两部分的,

上面有Primary GPT Header ( 主区 ) ,下面有 Secondary GPT Header(备区)

所谓啥 主的,备的,就是 GPT 它就是这种结构,有主备模式 :

即如果 主崩了的话,那还有个 备用的~!!!

# 跟现代的MBR一样,GPT也使用LBA(Logical Block Address,逻辑区块地址)取

代了早期的CHS寻址方式。传统MBR信息仅存储于LBA 0,而GPT使用了34个

LBA,GPT头存储于LBA 1,接下来才是分区表本身。

# GPT的每一个分区都可以独立存在,没有所谓的扩展、逻辑分区的概念,即所有分区

都是主分区。

LBA0 (MBR兼容部分)

与MBR模式相似的,这个兼容区块也分为两个部份,一个就是跟之前446 bytes相似的

区块,储存了第一阶段的开机管理程序!而在原本的分区表的纪录区内,这个兼容模式

仅放入一个特殊标志的分区,用来表示此磁盘为GPT格式之意。而不懂GPT分割表的磁

盘管理程序,就不会认识这块磁盘,除非用户有特别要求要处理之,否则该管理软件不

能修改此分区信息,进一步保护了此磁盘!

LBA1 (GPT 表头纪录)

这个部份纪录了分区表本身的位置与大小,每128字节标识一个分区(UEFI标准中的最

低要求:分区表最小要有16384字节)同时纪录了备份用的GPT 分区(就是前面谈到的

在最后34 个LBA 区块) 放置的位置, 同时放置了分区表的检验机制码(CRC32 ),操作

系统可以根据这个检验码来判断GPT 是否正确。若有错误,还可以通过这个纪录区来取

得备份的GPT(磁盘最后的备份区域) 来恢复GPT 的正常运作!其格式为:

===>>>

LBA2-33 (实际纪录分区信息处)

从LBA2区块开始,每个LBA都可以纪录4条分区纪录,所以在默认的情况下,总共可以有

4*32 = 128条分区纪录!因为每个LBA有512bytes,因此每条纪录用到128 bytes的空

间,除了每条纪录所需要的识别码与相关的纪录之外,GPT在每条纪录中分别提供了64bits

来记录开始/结束的扇区(Sector)号码,因此,GPT分区表对于单一分区来说,他的最大

容量限制为 :

2^{64}*512bytes=2^{63}*1Kbytes=2^{33}TB=8ZB,而1ZB = 2 30 TB!

MBR 与 GPT :

相较于MBR,GPT具有以下优点

✋ 得益于LBA提升至64位,以及分区表中每项128位设定,GPT可管理的空间近乎无限

大(单一分区8ZB)

✋ 分区数量几乎没有限制,由于可在表头中设置分区数量的大小

(目前windows仅支持最大128个分区,只是默认是128)

✋ 自带保险,由于在磁盘的首尾部分各带一个GPT表头,任何一个受到破坏后都可以通过

另一份恢复,极大地提高了磁盘的抗性。

✋ 循环冗余检验值针对关键数据结构而计算,提高了数据崩溃的检测几率

GPT提供了16字节的GUID来标识分区类型,使其更不容易产生冲突每个分区都可以

拥有一个特别的名字,最长72字节。

原文链接:https://blog.csdn.net/xiyangyang410/article/details/85857190

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/646242
推荐阅读
相关标签
  

闽ICP备14008679号