似乎人人都可以张嘴就说“我懂电脑”,但是总有一些看起来完全不懂但实际上非常基础的东西让“懂”与“不懂”清晰地划清界限。比如UEFI+GPT就是其中之一。这篇文章就总结了MBR和GPT区别。

什么是MBR,什么是GPT

GPT和MBR是两种不同的分区方案。目前在Windows下广泛采用的磁盘分区方案仍然是MBR分区结构,但不容怀疑GPT是今后的趋势。

MBR磁盘分区结构用下图简单表示(Windows下基本磁盘、4个主分区)

为了方便计算机访问硬盘,把硬盘上的空间划分成许许多多的区块(英文叫sectors,即扇区),然后给每个区块分配一个地址,称为逻辑块地址(即LBA)。
在MBR磁盘的第一个扇区内保存着启动代码和硬盘分区表。启动代码的作用是指引

计算机从活动分区引导启动操作系统(BIOS下启动操作系统的方式);分区表的作用是记录硬盘的分区信息。在MBR中,分区表的大小是固定的,一共可容纳4个主分区信息。在MBR分区表中逻辑块地址采用32位二进制数表示,因此一共可表示2^32(2的32次方)个逻辑块地址。如果一个扇区大小为512字节,那么硬盘最大分区容量仅为2TB。

GPT磁盘分区结构可用下图简单表示(Windows下基本磁盘)

可以看到,在GTP磁盘的第一个数据块中同样有一个与MBR(主引导记录)类似的标记,叫做PMBR。PMBR的作用是,当使用不支持GPT的分区工具时,整个硬盘将显示为一个受保护的分区,以防止分区表及硬盘数据遭到破坏。UEFI并不从PMBR中获取GPT磁盘的分区信息,它有自己的分区表,即GPT分区表。

GPT分区表的优势

GPT的分区方案之所以比MBR更先进,是因为在GPT分区表头中可自定义分区数量的最大值,也就是说GPT分区表的大小不是固定的。在Windows中,微软设定GPT磁盘最大分区数量为128个。另外,GPT分区方案中逻辑块地址(LBA)采用64位二进制数表示,可以计算一下2^64是一个多么庞大的数据,以我们的需求来讲完全有理由认为这个大小约等于无限。除此之外,GPT分区方案在硬盘的末端还有一个备份分区表,保证了分区信息不容易丢失。

BIOS引导系统方式(引导Windows

BIOS下启动操作系统之前,必须从硬盘上指定扇区读取系统启动代码(包含在MBR主引导记录中),然后从活动分区中引导启动操作系统,所以在BIOS下引导安装Windows操作系统,我们不得不使用一些工具(DiskGenius)对硬盘进行配置以达到启动要求(即建立MBR硬盘主引导和活动分区)。

传统BIOS的过程好像也不算复杂,但是由于BIOS的资源控制采用了中断向量的方式,所它在扩展性方面以及安全性上都不能有所保障。除此之外,有些电脑的BIOS的硬件自检时间非常长,这个时间大概就是我们的任务管理器显示的BIOS时间。

因为BIOS无法识别GPT分区,所以BIOS下GPT磁盘不能用于启动操作系统,在操作系统提供支持的情况下可用于数据存储。

BIOS方式启动过程看起来很不好,他要不断交接电脑控制权和读取引导记录并尝试引导,屏幕要闪很多次,还要看一段时间的Windows窗口的加载图标。

UEFI引导系统方式(引导Windows

UEFI下启动操作系统,不再需要主引导记录,不再需要活动分区,不需要任何工具,只要复制安装文件到一个FAT32(主)分区/U盘中,然后从这个分区/U盘启动。

UEFI在开机方面相比BIOS少了自检这一步,它把硬件信息存在了硬盘里,直接读取,因此它的启动速度更快;UEFI是BIOS的一种升级替代方案,UEFI之所以比BIOS强大,是因为UEFI本身已经相当于一个微型操作系统,其带来的便利之处在于:首先,UEFI已具备文件系统(文件系统是操作系统组织管理文件的一种方法,直白点说就是把硬盘上的数据以文件的形式呈现给用户。Fat32、NTFS都是常见的文件系统类型)的支持,它能够直接读取FAT分区中的文件;其次,可开发出直接在UEFI下运行的应用程序,这类程序文件通常以efi结尾。既然UEFI可以直接识别FAT分区中的文件,又有可直接在其中运行的应用程序。那么完全可以将Windows安装程序做成efi类型应用程序,然后把它放到任意fat分区中直接运行即可,如此一来安装Windows操作系统这件过去看上去稍微有点复杂的事情突然就变非常简单了,就像在Windows下打开QQ一样简单。

UEFI可同时识别MBR分区和GPT分区,因此UEFI下,MBR磁盘和GPT磁盘都可用于启动操作系统和数据存储。不过微软限制,UEFI下使用Windows安装程序安装操作系统是只能将系统安装在GPT磁盘中。

UEFI方式启动过程以SSD中启动WIN10为例,按下电源键,过1-2秒,然后出现主板的标志,过1-2秒,标志下出现转圈的点(表示正在加载Windows,这和BIOS启动完全不一样),过5-7S,黑一下,过1-2S,到开机锁屏界面;中间没有出现Windows窗口的加载图标,开机全程给人一种行云流水的感觉。

UEFI+GPT最好用64位操作系统。

总的来说:

1、GPT能使用大于2.2T的硬盘,MBR不行。支持最大卷为18 EB(1EB=1048576TB)。

2、GPT可以支持无限个分区,微软目前的限定是128个。Linux、ubuntu、macos都能支持这种分区格式。MBR最多4个主分区,超过4个再分区只能通过逻辑分区。

3、GPT分区磁盘有备份分区表来提高分区数据结构的完整性。

4、UEFI + GPT 开机启动更快,开机时跳过外设检测,并且可以实现启动时原生分辨率,搭载固态硬盘开机时间很短,十秒左右。(没有开机硬件自检会稍微快了那么1、2秒)

5、UEFI + GPT 支持Secure Boot。通过保护预启动或预引导进程,抵御bootkit攻击,从而提高安全性。所有在开机时比Windows内核更早加载,实现内核劫持的技术,都可以称之为Bootkit。

6、UEFI BIOS 可用鼠标操作图形界面,不再是枯燥的蓝底白字的英文。(Intel提出,用于取代BIOS)。UEFI的优越特性:可操作性、安全性、兼容性、可扩展性。

BIOS+MBR的系统引导文件可以和系统文件在同一分区的根目录,也可以不与系统文件同一分区,只要系统引导文件所在分区为活动的主分区即可启动操作系统;而UEFI+GPT只能把系统引导文件放置在ESP分区,且操作系统必须在另外的主分区,也就是说,UEFI+GPT强制要求系统启动文件与系统文件必须分离,不在同一分区。

BIOS+MBR一旦系统安装好之后,如果系统引导文件在单独的分区,此分区可以在操作系统中可见,也可以设置此分区为隐藏,系统都可以正常启动;而UEFI+GPT系统引导文件所在的ESP分区在操作系统中为不可见,进入系统后自动隐藏。

对比采用传统BIOS引导启动方式,UEFI BIOS减少了BIOS自检的步骤,节省了时间,从而加快平台的启动。

----------拓展-------------

BIOS和UEFI、MBR和GPT 搭配情况:

(1)BIOS+MBR:可用,可启动系统。最常见!这是最传统的,系统都会支持;唯一的缺点就是不支持容量大于2T的硬盘。

(2)BIOS+GPT:可用,但是无法启动系统。BIOS是可以使用GPT分区表的硬盘来作为资料盘的,但不能引导系统;若电脑同时带有容量小于2T的硬盘和容量大于2T的硬盘,小于2T的可以用MBR分区表安装系统,而大于2T的可以使用GPT分区表来存放资料也没什么问题。但系统须使用64位系统。

BIOS+GPT也是合理的模式,但这种模式下无法启动此硬盘上的系统,而如果只是作为存储盘,则没有什么影响。主硬盘BIOS+MBR装系统、软件,次硬盘BIOS+GPT存储文件,这是很多影音文件发烧友在使用的模式。

(3)UEFI+MBR可以把UEFI设置成Legacy模式(传统模式)、打开CSM兼容模块,让其支持传统MBR启动,但纯属瞎折腾,带来的效果同BIOS+MBR。没有意义。

(4)UEFI+GPT:可用,可启动系统。最常见!未来趋势。如果要把大于2T的硬盘作为系统盘来安装系统的话,就必须如此。而且系统须使用64位系统,否则无法引导。但系统又不是传统在PE下安装后就能直接使用的,引导还得经过处理才行。UEFI和GPT是相辅相成的。

UEFI+GPT并不能非常有效的提高开机速度(当然,还是有点作用的),网传的X秒启动,大多数是混淆了WIN8/8.1的假关机功能造成的。理性对待UEFI+GPT,这只是一个新模式,不是神话。

硬盘MBR和GPT区别的更多相关文章

  1. 硬盘分区时GPT和MBR的区别/选择

    最明显的区别是MBR最大支持2T的硬盘,而GPT则更大. 1.最先出现在Windows8中设置新磁盘,系统会询问你是想要使用MBR还是GPT分区,GPT是一种新的硬盘分区标准.GPT带来了很多新特性, ...

  2. 对硬盘进行分区时,GPT和MBR有什么区别?

    在Windows 8或8.1中设置新磁盘时,系统会询问你是想要使用MBR还是GPT分区.GPT是一种新的标准,并在逐渐取代MBR. GPT带来了很多新特性,但MBR仍然拥有最好的兼容性.GPT并不是W ...

  3. BIOS/MBR UEFI/GPT关系与区别-资料整理

    ---恢复内容开始--- 关于 BIOS/MBR UEFI/GPT他们之间的关系一直比较疑惑, 首先一点前提 BIOS UEFI 是一类,是控制硬件,引导启动的:MBR GPT是硬盘的分区定义.. 后 ...

  4. 硬盘分区形式(MBR、GPT)、系统引导、文件系统、Inode和Block

    目录 MBR和GPT MBR的局限性 GPT的优势 主分区.扩展分区和逻辑分区 挂接卷 Legacy.UEFI引导和GRUB引导 文件系统(FAT16.32.NTFS和EXT2.3.4.Xfs.Tmp ...

  5. win server 2003 将MBR转为GPT突破硬盘2TB的限制(附微软磁盘科普)

    备注:https://technet.microsoft.com/zh-cn/library/cc773223.aspx GUID 分区表 与支持最大卷为 2 TB (terabytes) 并且每个磁 ...

  6. EFI、UEFI、MBR、GPT的区别

    UEFI.GPT.MBR是什么?这些专业术语不难理解,UEFI属于主板类名词,其作用类似于BIOS.GPT.MBR则属于硬盘类名词,它们的作用类似一艘航母的骨架,有了这个骨架,我们才可以进行细致到诸如 ...

  7. Linux 入门记录:六、Linux 硬件相关概念(硬盘、磁盘、磁道、柱面、磁头、扇区、分区、MBR、GPT)

    一.硬盘 硬盘的功能相当简单但很重要,它负责记录系统所需要的各种数据.硬盘记录数据有两个方面,一个是硬件方面的存储原理和结构,另外一方面则是软件方面的数据和文件系统.硬盘的主要行为就是数据的存放和取出 ...

  8. 装系统 ---------- 了解 UEFI与Legacy、硬盘分区MBR和GPT

    UEFI:全称“统一的可扩展固件接口”(Unified Extensible Firmware Interface),一种详细描述类型接口的标准.这种接口用于操作系统自动从预启动的操作环境,加载到一种 ...

  9. Legacy和UEFI,MBR和GPT的区别

    Legacy(历史的,遗留的,传统的)和UEFI指的是系统引导方式(Legacy为传统BIOS,UEFI为新式BIOS),MBR和GPT指的是磁盘分区表类型. 一般情况下都是Legacy+MBR, U ...

随机推荐

  1. RabbitMQ消息队列随笔

    本文权当各位看官对RabbitMQ的基本概念以及使用场景有了一定的了解,如果你还对它所知甚少或者只是停留在仅仅是听说过,建议你先看看这篇文章,在对RabbitMQ有了基本认识后,我们正式开启我们的Ra ...

  2. poj-2336 Ferry Loading II(dp)

    题目链接: Ferry Loading II Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3946   Accepted: ...

  3. OpenCV——PS滤镜算法之 球面化 (凹陷效果)

    // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include < ...

  4. Java之类加载器(Class Loader)

    JVM默认有三个类加载器: Bootstrap Loader Bootstrap Loader通常有C编写,贴近底层操作系统.是JVM启动后,第一个创建的类加载器. Extended Loader E ...

  5. BZOJ-4003:城池攻占(可并堆+lazy标记)

    小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池. 这 n 个城池用 到 n 的整数表示.除 号城池外,城池 i 会受到另一座城池 fi 的管辖, 其中 fi <i.也就是 ...

  6. Spring笔记03(Spring创建对象的三种方式)

    1.创建对象的三种方式和bean的生命周期的验证: Animal接口代码: package cn.pb.dao; /** * 动物接口 */ public interface Animal { //吃 ...

  7. 【Lintcode】075.Find Peak Element

    题目: There is an integer array which has the following features: The numbers in adjacent positions ar ...

  8. 转 对APK进行重签名

    1.      生成Android APK包签名证书1).     在doc中切换到jdk的bin目录cd C:\Program Files\Java\jdk1.6.0_18\bin2).     运 ...

  9. POJ1195(二维树状数组)

    Mobile phones Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 17176   Accepted: 7920 De ...

  10. 一个.NET通用JSON解析/构建类的实…

    一个.NET通用JSON解析/构建类的实现(c#) 在.NET Framework 3.5中已经提供了一个JSON对象的序列化工具,但是他是强类型的,必须先按JSON对象的格式定义一个类型,并将类型加 ...