MBR 与 GPT 分区
最后更新于
最后更新于
本文介绍了MBR与GPT这两种不同硬盘分区方案,对不同的情况下,如何正确选择MBR分区方案还是GPT分区方案,给出了建议。
电脑中,有一块硬盘:物理硬盘是不能被直接使用的,要在该硬盘上划分出分区后,才能够使用。
其实仅仅划分出分区后,这块硬盘仍然是不能被使用的,需要在划分好的分区上创建文件系统,比如FAT或NTFS,之后才能够被使用。
一块物理硬盘,可以划分成多个分区,分区表定义与保存了硬盘的分区信息,分区表位于硬盘开头的一段特定的物理空间内,操作系统等软件通过读取分区表内的信息,就能够获得该硬盘的分区信息。
硬盘的空间被分成了C、D、E三个分区,这三个分区的信息,则保存在硬盘最开头的分区表中。
这张图其实不准确,一些细节甚至是错误的,不过如果你第一次接触分区表的概念,这张图能让你迅速理解分区表及其作用。
有两种类型的分区方案: MBR与GPT
这是采用MBR分区方案的硬盘分区示意图,关于主分区、扩展分区与逻辑分区的各自含义,后面会有说明。
MBR是传统的分区表,我们列出MBR分区表的一些重要特点:
1、MBR分区方案使用硬盘的第一个物理扇区中的64个字节作为分区表的空间保存硬盘分区信息,每个分区的信息要占16个字节,所以,MBR分区表最多只能保存4个分区的分区信息。
2、MBR分区方案中,有三种类型的分区,主分区、扩展分区和逻辑分区,扩展分区与逻辑分区是为了突破分区表中只能保存4个分区的限制而出现的。
3、MBR分区表中保存的分区信息都是主分区与扩展分区的分区信息,扩展分区不能直接使用,需要在扩展分区内划分一个或多个逻辑分区后才能使用,逻辑分区的分区信息保存在扩展分区内而不是保存在MBR分区表内,这样,就可以突破MBR分区表只能保存4个分区的限制。
4、16个字节的分区信息保存有分区活动状态标志、文件系统标识、起止柱面号、磁头号、扇区号、起始扇区位置(4个字节)、分区总扇区数目(4个字节)等内容,这里最重要的是:分区的起始扇区位置与分区的总扇区数,都是用4个字节表示的。
5、一般每个扇区的容量是512字节,4个字节的扇区能表示的最大容量是2TB,由4可知,在MBR分区表中,分区的起始位置不能大于2TB,分区的最大容量,也不能大于2TB。所以,对2TB以上容量的物理硬盘,不适合使用MBR分区方案。
1、本来MBR分区表只能保存四个分区的信息,但通过扩展分区与逻辑分区的使用,MBR突破了这个限制。
2、由于MBR分区表中,表示地址的参数是只有4个字节,所以导致MBR分区方案中,分区的起始位置不能大于2TB,分区的最大容量,也不能大于2TB,所以,对2TB以上容量的物理硬盘,不适合使用MBR分区方案。
有一些硬盘厂商,尝试扩大扇区的大小,来突破MBR不适合2TB容量以上的硬盘这一限制,所以有时你会发现市场上存在的硬盘,不完全是每个扇区512字节的,有1024字节甚至2048字节每扇区的,但扩大扇区的大小,又会带来很多其他的问题,特别是会严重影响硬盘的速度,所以这种方法,没有被广泛接受。
相比较于MBR,GPT是新一代的分区方案,GPT比MBR要复杂,这张图,简明扼要的显示除了GPT分区方案的硬盘结构。
首先,你会注意到,这张用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做基本的介绍。
计算机其实是一堆硬件组成的: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,还有很多东西可以写,但估计写的更多,会让你更加困惑,所以,暂时只介绍这么多。
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使用。