GPT和MBR的区别

文章更新

  1. 20170810-初次成文

为什么会有这篇文章

最近单位发了一块西部数据的4T硬盘,在PC上格式化的时候,让我选择GPT和MBR,犹豫了一下,特地来研究一下。

前言

当在WINDOWS 8.X或者WINDOWS 10系统上安装一块新的硬盘的时候,系统必然会要求你对这个新硬盘进行分区,而且有两种不同的分区结构,MBR和GTP,这俩是什么意思?又有什么区别呢?

MBR

所谓的“分区结构”,是指在硬盘分区上的信息组织形式,比如一个分区的开始和技术位置,以及这个分区是否为可启动的标志位信息等。如果你曾经有在一台MAC电脑上安装双系统(MAC OS和WINDOWS)的经历,那么你应该遇到过两种分区形式:MBR和GPT,前者是Master Boot Record的缩写,中文翻译是“主分区记录”,后者是GUID Parition Table的缩写,中文翻译是”GUID分区表”。后者(GPT)这种分区形式出现时间较短,出现的目的是为了取代MBR。GPT分区格式自带很多天生的优势,然而MBR在现在看到,依然具有对传统设备的最大兼容性,并且在一些特殊情况下,存在非MBR不可的情况。然而,准确的来说,GPT分区格式并不是WINDOWS系统所独有的一种格式,在MAC OS系统、LINUX以及其他一些操作系统下,也会使用GPT分区格式。

MBR分区格式的限制

MBR分区分时最早出现在1983年,随同IBM推出的PC DOS 2.0版本一同出现。之所以MBR被称作 主分区记录, 是因为MBR分区格式的信息,储存于一块硬盘的数据记录开始的一块特殊区域。该区域包含一个启动引导器(BOOT LOADER),这个区域用于引导操作系统,并且包含该硬盘的逻辑数据信息。储存在该区域的BOOT LOADER代码通常很短,其作用是“载入”其他分区上的“较大”的“启动引导器”。举例来说,如果在电脑上安装有WINDOWS系统,那么WINDOWS系统的BOOT LOADER代码则会有一小部分存在MBR分区内部,这就是为了什么如果你硬盘上的MBR分区被破坏了,那么你的WINDOWS系统则无法启动,必须手动修复MBR分区才可以让电脑正常恢复工作了。再举LINUX系统为例,LINUX系统的GRUB引导器,也会将部分代码写入MBR内。

MBR分区也有自身的限制,比如,MBR分区对单个分区的支持,不能超过2TB的大小,并且,也支持最多4个基础分区(PRIMARY PARTITIONS),如果你需要更多的分区,那么你必须将基本分区划分为“扩展分区”(extended partiton),以便在扩展分区内,建立更多的逻辑分区。这在很多人看来是一个非常傻缺的设定。

GPT分区的优势

GTP分区格式则较为新颖,也是为了逐渐取代MBR而生。谈到GTP分区,就不得不说到UEFI(是什么的缩写?),UEFI也是为了取代历史悠久的BIOS而出现的。GUID分区表格式,之所以被称作UEFI,是因为该分区格式为硬盘上的每一个分区都分配了“唯一”的数据标识符,或者称作”GUID”,意为一个随机长度的字符串,这样的随机性和长度组合,基本可以保障世界上每一个GPT的分区都不会相同。

GPT分区没有MBR分区的限制,比如GPT的分区可以超越2TB的容量限制,并且分区的个数没有数量上限。而此时唯一的限制,就是操作系统对GPT分区的限制,比如,在WINDOWS系统条件下,GPT划分最多的分区数量为128,但是相应的,GPT分区也不再需要像MBR分区那样,为了多个分区而必须建立扩展分区。

在MBR分区的硬盘上,分区表数据和启动数据保存在同一个区域。如果这个区域的数据被破坏或者覆盖,那么就会有很大的麻烦。而GPT分区则相反,GPT分区将这些数据在整个硬盘范围内保存多份,所以相对来说,GPT分区的数据安全相比MBR要强大很多,并且当分区表和启动数据被破坏的情况下,还可以得到恢复。

GPT分区同样会对硬盘上的数据进行CRC奇偶校验,以确保硬盘数据保存的完整性。如果数据被破坏,GPT的奇偶校验机制,会有机会使用被破坏数据的备份来重新校准覆盖,保证数据的存储安全。而MBR分区,则根本不存在这样的机制,如果MBR的分区启动表被破坏,那么通常意味着你只能发现你的电脑无法正常启动,然后硬盘数据全部消失掉了。

兼容性

GPT分区通常为了保持对MBR分区的兼容性,从而包含一份所谓的”保护性MBR分区表“,这意味着如果你使用老版本的磁盘工具读取GPT分区,那么工具通常会将GPT分区视为一整块都是扩展分区的MBR硬盘。这一兼容机制是为了保证老版本的磁盘工具不会将GPT分区视为未分区磁盘,从而错误的为GPT重新进行MBR分区操作,而破坏原有数据。

如果希望WINDOWS操作系统从GPT分区启动系统,则必须要求电脑系统配备UEFI的BIOS系统,并且是由64位的Windows 7,8,10,Vista或者是服务器版本。如果电脑不具备UEFI的BIOS,则上述Windows系统,可以将GPT分区作为数据存储分区,而不能作为启动分区。

其他现代如LINUX或者CENTOS等这些现代操作系统,则基本内置了对GPT分区的支持。比如苹果的MAC OS系统,则不再使用苹果的APT(Apple Partition Table)分区格式,转而使用GPT分区格式。

GPT分区相比MBR来说更为先进,也是潮流所向,然而如果你依然对传统WINDOWS有需求,比如电脑系统并不匹配UEFI的BIOS,那么目前你依然需要MBR分区格式。

参考文章

  1. What’s the Difference Between GPT and MBR When Partitioning a Drive?
分享到