磁盘管理之MBR与GPT分区

磁盘管理之MBR与GPT分区

2016-08-26%1 $ S

磁盘管理之MBR与GPT分区


linux下的文件分为常规文件和设备文件,常规文件一定在某一个设备上被存储,不论这个设备是真实的还是虚拟的,这里的设备是linux中vfs层中的设备,也就是设备文件中的设备,vfs层的设备分为字符设备和块设备,字符设备可以类比为一个的队列,无论读还是写都必须顺序进行,而块设备就可以随机进行读写,常规的文件一般都在块设备上被存储,包括设备文件本身也在一个块设备上被存储着,可以说vfs层解决了这种混乱,它提供给上面的操作者一个十分统一的接口。linux内核是分层次的,vfs仅仅 是其中的一个罢了,即使下面很乱也不是很无序的乱,因为字符设备和块设备的管理方式就不同,如果理 一下思路就会很自然的想到在vfs接口下面有三条线,一条是常规文件,一条是字符设备文件,另一条就是块设备文件。

这里我们不得不重新提起那就话“Linux一切皆文件”。块设备,<block>,存取单位“块”比如磁盘。字符设备<char>,单位“字符”,比如键盘。Linux的设备文件关联至一个设备驱动程序,进而能够跟与之对应 硬件设备进行通信。每个字符设备和块设备都必须有主、次设备号,主设备号相同的设备是同类设备(使用同一个驱动程序)。这些设备中,有些设备是对实际存在的物理硬件的抽象,而有些设备则是内核自身提供的功能(不依赖于特定的物理硬件,又称为”虚拟设备”)。每个设备在 /dev 目录下都有一个对应的文件。

日常需要管理的设备最常见的是硬盘,硬盘设备的设备文件命名:/dev/DEV_FILE 。在CENTOS 6之后设备的命名:/dev/sda, /dev/sdb, … ,/dev/sdz;而同一块硬盘上的分区:1,2,…他们的命名:/dev/sda1, …/dev/sda5…。这里要说明的是Linux下的硬盘两种分区方式:MBR,GPT 。

主引导记录(Master Boot Record , MBR)是指一个存储设备的开头 512 字节。它包含操作系统的引导器和存储设备的分区表。全局唯一标识分区表(GUID Partition Table,缩写:GPT)是一个实体硬盘的分区表的结构布局的标准。它是统一可扩展固件接口标准的一部分,它使用全局唯一标识来标识设备。它是新一代分区表格式,用以替代 MBR 分区表。它用来解决 MBR 分区表的缺点,同时带来了一些优点。



MBR(Master Boot Record):

主引导记录,是传统的分区机制,应用于绝大多数使用BIOS的PC设备。MBR支持32位和64位系统。MBR支持分区数量有限。MBR,使用32位表示扇区数,分区不超过2T。

MBR结构:

占用硬盘最开头的512字节前446字节为:(boot loader);接下来的为4个16字节:分别对应4个主分区表信息;最后2个字节:55AA 是个永久性的标示,代表这个硬盘是可启动。

这里需要注意的是:分区可以是4个主分区或者3个主分区和一个扩展分区。

MBR分区:

2012-08-30-11-22-52


GPT:(GUID Partition Table)

         全局唯一标识分区表,缩写:GPT,是一个实体磁盘的分区表的结构布局的标准。它是可扩展固件接口(EFI)标准的一部分,被用于替代BIOS系统中的一32bits来存储逻辑块地址和大小信息的主引导记录(MBR)分区表。

GPT支持128个分区,使用64位,支持8Z( 512Byte/block )64Z ( 4096Byte/block),使用128位UUID 表示磁盘和分区 GPT分区表自动备份在头 和尾两份,并有CRC校验位 ,UEFI (统一扩展固件接口)硬件支持GPT。在GPT分区表中最多可以支持128个主分区,相对比MBR来说,几乎突破了分区个数的限制;单个分区容量几乎没有限制,因此GPT分区中,主分区和扩展分区,逻辑分区的概念已经很模糊了。甚至没必要这么叫。其实我们知道扩展分区之所以存在,意义就是为了解决MBR中分区个数的限制问题。

QQ截图20160826163243

保护MBR:保护MBR位于GPT磁盘的第一扇区,也就是0号扇区,有磁盘签名,MBR磁盘分区表和结束标志组成,没有引导代码。而且分区表内只有一个分区表项,这个表项GPT根本不用,只是为了让系统认为这个磁盘是合法的。

GPT头:GPT头会定义分区表的起始位置,分区表的结束位置、每个分区表项的大小、分区表项的个数及分区表的校验和等信息。

分区表:每个分区表项中记录着分区的起始,结束地址,分区类型,分区名字,分区属性。

分区区域:GPT分区区域就是用户使用的分区,也是用户进行数据存储的区域。分区区域的起始地址和结束地址由GPT头定义。


以上就是Linux系统MBR和GPT分区的区别,总得来说GPT比MBR更先进,但是就现今的大多数服务器来说,使用MBR分区的居多;以上就是Linux系统MBR和GPT分区的区别,也可以说MBR的兼容性比GPT要好。

原创文章,作者:zanghonglei,如若转载,请注明出处:http://www.178linux.com/40601

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-29 09:37

    文章MBR与GPT两种分区标准进行了详细的介绍,通过文章可以看出作者用心在查资料,写博客。