# MBR 与 GPT 分区

#### 博客作者：联系请[点击](https://hezhiqiang.gitbook.io/about-the-author/lian-xi-zuo-zhe)，搬运不易，希望请作者喝咖啡，可以点击[联系博客作者](https://hezhiqiang.gitbook.io/about-the-author/lian-xi-zuo-zhe)

&#x20;       本文介绍了MBR与GPT这两种不同硬盘分区方案，对不同的情况下，如何正确选择MBR分区方案还是GPT分区方案，给出了建议。

## 什么是分区表

&#x20;       电脑中，有一块硬盘：**物理硬盘是不能被直接使用的，要在该硬盘上划分出分区后，才能够使用**。       &#x20;

其实仅仅划分出分区后，这块硬盘仍然是不能被使用的，需要在划分好的分区上创建文件系统，比如FAT或NTFS，之后才能够被使用。

一块物理硬盘，可以划分成多个分区，分区表定义与保存了硬盘的分区信息，分区表位于硬盘开头的一段特定的物理空间内，操作系统等软件通过读取分区表内的信息，就能够获得该硬盘的分区信息。

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-MRx9L1yFmvdr2EPW1yN%2F-MRxACTysv9ibbfEeCHi%2Fimage.png?alt=media\&token=56c343f7-e430-45ed-bf57-e15456fa1523)

![MBR 与 GPT](https://www.eassos.cn/jiao-cheng/img/mbr-vs-gpt-01.png)

硬盘的空间被分成了C、D、E三个分区，这三个分区的信息，则保存在硬盘最开头的分区表中。

这张图其实不准确，一些细节甚至是错误的，不过如果你第一次接触分区表的概念，这张图能让你迅速理解分区表及其作用。

有两种类型的分区方案： MBR与GPT

## MBR分区方案

这是采用MBR分区方案的硬盘分区示意图，关于主分区、扩展分区与逻辑分区的各自含义，后面会有说明。

![MBR 与 GPT](https://www.eassos.cn/jiao-cheng/img/mbr-vs-gpt-02.png)

MBR是传统的分区表，我们列出MBR分区表的一些重要特点：

* 1、MBR分区方案使用硬盘的**第一个物理扇区中的64个字节作为分区表的空间保存硬盘分区信息，每个分区的信息要占16个字节**，所以，MBR分区表最多只能保存4个分区的分区信息。
* 2、MBR分区方案中，**有三种类型的分区，主分区、扩展分区和逻辑分区，**&#x6269;展分区与逻辑分区是为了突破分区表中只能保存4个分区的限制而出现的。
* 3、MBR分区表中保存的分区信息都是主分区与扩展分区的分区信息，**扩展分区不能直接使用，需要在扩展分区内划分一个或多个逻辑分区后才能使用，**&#x903B;辑分区的分区信息保存在扩展分区内而不是保存在MBR分区表内，这样，就可以突破MBR分区表只能保存4个分区的限制。
* 4、16个字节的分区信息保存有分区活动状态标志、文件系统标识、起止柱面号、磁头号、扇区号、起始扇区位置（4个字节）、分区总扇区数目（4个字节）等内容，这里最重要的是：分区的起始扇区位置与分区的总扇区数，都是用4个字节表示的。
* 5、一般每个扇区的容量是512字节，4个字节的扇区能表示的最大容量是2TB，由4可知，在MBR分区表中，分区的起始位置不能大于2TB，分区的最大容量，也不能大于2TB。所以，**对2TB以上容量的物理硬盘，不适合使用MBR分区方案**。

### MBR分区方案重点记住两点：

* 1、本来MBR分区表只能保存**四个分区**的信息，但通过扩展分区与逻辑分区的使用，MBR突破了这个限制。
* 2、由于MBR分区表中，表示地址的参数是只有4个字节，所以导致MBR分区方案中，分区的起始位置不能大于2TB，分区的最大容量，也不能大于2TB，所以，**对2TB以上容量的物理硬盘，不适合使用MBR分区方案**。

有一些硬盘厂商，尝试扩大扇区的大小，来突破MBR不适合2TB容量以上的硬盘这一限制，所以有时你会发现市场上存在的硬盘，不完全是每个扇区512字节的，有1024字节甚至2048字节每扇区的，但扩大扇区的大小，又会带来很多其他的问题，特别是会严重影响硬盘的速度，所以这种方法，没有被广泛接受。

## GPT分区方案

相比较于MBR，GPT是新一代的分区方案，GPT比MBR要复杂，这张图，简明扼要的显示除了GPT分区方案的硬盘结构。<br>

![MBR 与 GPT](https://www.eassos.cn/jiao-cheng/img/mbr-vs-gpt-03.png)

首先，你会注意到，这张用LBA 0、LBA 1这样的方法来表明硬盘上的地址，这是因为以前一般都是用chs方式对硬盘寻址的，现在一般都用LBA方式对硬盘寻址，关于chs与LBA，LBA 0指的是物理序号为0的第一个扇区，LBA 1指的是物理序号为1的第二个扇区，依次类推。

下面比照着上面这张图，解释下GPT分区方案。

* 1、保留MBR，GPT的分区方案，硬盘的第一个物理扇区，仍然是一个前面讲过的MBR，这个MBR主要是出于软件兼容性的考虑，对GPT分区方案本身来讲，其实没有啥意义。
* 2、GPT分区表头，这个在保留MBR之后，也就是占用第二个物理扇区，GPT分区表头中，定义了分区的数量，基本上，你可以认为GPT分区的数量是没有限制的；
* 3、GPT分区表，从第三个扇区开始，是实际的分区表。请注意：每个扇区可以保存4个分区信息，说明每个分区的分区信息占用的空间是128个字节。
* 4、从3中，我们知道每个分区的信息占用了四分之一个扇区，也就是128字节的空间，对比一下MBR分区方案中，每个分区的信息只有16个字节，所以GPT分区方案，有充足的空间去存储分区的开始位置及总的容量等，基本上，不用考虑对分区容量的限制。
* 5、从3中，我们知道，GPT分区方案，分了多少个区，就在分区表中有多少个分区信息。然而实际情形并不是这样，事实上，如图中所示：如果你使用windows操作系统，通常GPT分区表占用32个扇区的空间，可以保存128个分区信息，用不到的空间会被保留，实际使用了多少分区信息与保留了多少分区信息，在2中的GPT分区表头中设置。我们的电脑，通常不会有超过10个的分区，所以GPT分区表中的空间，90%以上都是保留空间，其实就是被浪费了。
* 6、接下来的两个部分，很简单，分别是GPT分区表，及GPT分区表头的备份。

### BIOS 与 EFI

本文只对BIOS与EFI做基本的介绍。

计算机其实是一堆硬件组成的：CPU、内存、硬盘、主板、显示器、键盘鼠标...，而操作系统是软件，运行在这一堆硬件之上，这个大多数人应该都能理解。

那BIOS与EFI是什么呢？可以把BIOS理解为硬件与软件的中介，操作系统等软件通过BIOS或EFI这个中介来间接操作硬件。

实际上操作系统等软件是可以直接操作硬件的，但这么做，太麻烦了。比如你让打印机打印一个字母A，如果不通过BIOS或EFI这个中介，你至少需要写二十行以上的汇编代码，而且这些代码中，大部分都是例行公事的一些打印准备工作，无聊透顶。所以BIOS与EFI作为硬件软件的中介，是必须的，非常重要。

BIOS与EFI又是什么关系呢？可以这样理解：BIOS是早期的硬件软件中介方式，随着硬件与软件技术的快速发展，BIOS这种中介方式不能适应先进的硬件软件了，于是就出现了EFI这种新的中介方式。

你可能在一些计算机方面的文章中看到过UEFI这个词，简单的说，UEFI就是新版的EFI，事实上现在我们接触到的EFI，都是UEFI。一个计算机是使用BIOS还是使用UEFI，是由这台计算机的主板决定的，如果你使用的计算机比较老，多半用的是支持BIOS的主板；如果很新，多半用的是支持UEFI的主板。

需要说明的是：出于兼容性的考虑，大多数UEFI主板，可以选择仍然使用BIOS方式，就是说UEFI主板，既可以使用新的UEFI中介，还可以使用老的BIOS中介（通常这种方式被称为Legacy BIOS）。关于BIOS与EFI，还有很多东西可以写，但估计写的更多，会让你更加困惑，所以，暂时只介绍这么多。

### MBR和GPT 分区的优缺点

1、传统的BIOS只支持从MBR分区的硬盘启动，MBR分区的分区表保存在硬盘的第一个扇区，而且只有64字节，所以最多只能有四个表项。也就是说，我们只能把硬盘分为4主分区，或者分成小于等于3个主分区再加一个扩展分区，扩展分区又可以分为多个逻辑分区，MBR分区的优点就是简单，所以很多操作系统都可以从MBR分区的硬盘启动，缺点就是MBR分区不能识别大于2T的硬盘空间，也不能有大于2T的分区;

2、GPT分区的硬盘可以解决以上MBR分区的所有缺点，它没有4个主分区的限制，想分几个主分区就可以分几个主分区，它可以识别大于2T的硬盘空间，每个分区的大小也可以超过2T。但是它的缺点是需要操作系统支持。比如只有WinXP 64位、Win Vista、Win 7和Win 8和比较新的Linux发行版支持GPT分区的硬盘。而且，如果没有EFI的支持的话，以上系统也只能将GPT分区的硬盘当成数据盘，不能从GPT分区的硬盘启动;

3、要从GPT分区的硬盘启动，则主板使用EFI、硬盘使用GPT分区、操作系统支持GPT和EFI这三个条件缺一不可。目前比较新的64位Linux系统和Win8系统都是支持EFI的，所以都是需要从GPT分区的硬盘启动的。

4、以上分区策略都是固定分区，硬盘分区一旦完成，则分区的大小不可改变，如果要改变分区的大小的话，只有重新分区。而且由于没有办法把多个硬盘分到一个区，所以再怎么分，每个分区的大小都有限。所以我们需要一种动态分区的东西。LVM就是这样一个东东，它叫逻辑卷管理。使用LVM的机制是这样的：首先把硬盘分区或者整块硬盘标记为一个物理卷(PV)，然后再创建一个卷组(VG)，把一个或多个物理卷加入卷组，最后对卷组进行分区，每一个分区称为一个逻辑卷(LV)。LVM的优点就是可以随时向卷组中添加物理卷扩展卷组的大小，以可以动态调整逻辑卷的大校这在服务器中尤其有用，比如说有一个原本有100个用户的服务器，其/home目录下就会有100个用户的主目录，如果给他们每人分配20G的空间的话，就会占满一个2T的硬盘，如果这时再来100个用户怎么办?如果使用LVM就可以顺利解决这个问题，我们可以再加一个3T的硬盘，然后把这个硬盘加入卷组就可以扩大卷组的大小，然后再调整/home所在的逻辑卷的大小即可。LVM既可以搭配MBR使用，也可以搭配GPT使用。<br>

#### GPT最重要的特点是：使用GPT分区方案，没有硬盘容量不能超过2TB大小的限制，这是GPT区别于MBR的特点与优点！
