硬盘的两种分区和对应启动引导方式

硬盘的两种分区格式

常见的硬盘分区格式有两种:MBR和GPT

  1. MBR(Master Boot Record)“主引导记录”: 它有自己的启动器,也就是启动代码,一旦启动代码被破坏,系统就没法启动,只有通过修复才能启动系统。 MBR分区的分区表保存在硬盘的第一个扇区,而且只有64byte,所以最多只能有四个表项。也就是说,我们只能把硬盘分为4主分区,或者分成小于等于3个主分区再加一个扩展分区。扩展分区又可以分为多个逻辑分区。

为什么硬盘最多有四个主分区(Primary Partition)【“主分区”这一词在不同的系统中名称不同】

这是由个人计算机初期的设计架构决定的:

PC启动时,开机时进行BIOS自检,完事后开始读取硬盘的第一个扇区,【一个扇区大小512byte】BIOS把这512字节的内容读出来并执行.

这512字节被叫做MBR.

这512byte包含了硬盘最重要的信息:分区表。

由于空间只有区区512字节,所以分区表的大小就有很大限制,他被设计成十分小但是又足够描述硬盘的分区情况,包括分区的开始扇区、结束扇区、引导标志、分区类型等等。

每个分区信息用16个字节表示,四个分区就用掉了​个字节,这64个字节分布在MBR的第467-510字节,后面紧接着两个字节AA和55被称为幻数(Magic Number),BOIS读取MBR的时候总是检查最后是不是有这两个幻数,如果没有就被认为是一个没有被分区的硬盘

Wikipedia:

主引导记录的构成:启动代码、硬盘分区表 ——64个字节(偏移01BEH--偏移01FDH)、结束标志字

它在硬盘上的三维地址为(柱面,磁头,扇区)heads/sectors/cylinders=(0,0,1)。在深入讨论主引导扇区内部结构的时候,有时也将其开头的446字节内容特指为“主引导记录”(MBR),其后是4个16字节的“磁盘分区表”(DPT),以及2字节的结束标志(55AA)。因此,在使用“主引导记录”(MBR)这个术语的时候,需要根据具体情况判断其到底是指整个主引导扇区,还是主引导扇区的前446字节。

主引导扇区记录着硬盘本身的相关信息以及硬盘各个分区的大小及位置信息,是数据信息的重要入口。如果它受到破坏,硬盘上的基本数据结构信息将会丢失,需要用繁琐的方式试探性的重建数据结构信息后才可能重新访问原先的数据。

最大支持2TB容量,在容量方面存在着极大的瓶颈,那么GPT在今后的发展就会越来越占优势,MBR也会逐渐被GPT取代

  1. GPT(Globally Unique Identifier Partition Table)“全局唯一标识分区表”:

    是一个实体硬盘的分区表的结构布局的标准。它是可扩展固件接口(UEFI)标准(被Intel用于替代个人计算机的BIOS)的一部分。

    在GPT硬盘中,分区表的位置信息储存在GPT头中。但出于兼容性考虑,硬盘的第一个扇区仍然用作MBR,之后才是GPT头。

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

    GPT对分区数量没有限制,但Windows最大仅支持128个GPT分区。

两种引导方式

BIOS类型 分区类型
Legacy(传统) MBR(主引导)
UEFI(新式) GPT分区

Legacy和UEFI都是BIOS的类型

BIOS(Basic Input/Output System)

基本输入输出系统

Wikipedia:是在通电引导阶段运行硬件初始化,以及为操作系统和程序提供运行时服务的固件。BIOS最早随着CP/M操作系统的推出在1975年出现。BIOS预安装在个人计算机的主板上,是个人计算机启动时加载的第一个软件。

现在,BIOS用于初始化和测试系统的硬件组件,以及从大容量存储设备(如硬盘)加载引导程序,并由引导程序加载操作系统。BIOS还为DOS操作系统提供键盘、显示及其他I/O设备的硬件抽象层。许多较新的操作系统在引导后不再通过BIOS访问硬件。

UEFI

UEFI的全称是Unified Extensible Firmware Interface,由EFI发展而来,是一种个人计算机系统规格,用来定义操作系统与系统固件之间的软件界面,作为BIOS的替代方案。

想深入理解BIOS,了解计算机是如何启动是必不可少的,推荐文章:

http://www.ruanyifeng.com/blog/2013/02/booting.html

另有知乎问答:

摘自知乎:

作者:张旭

链接:https://www.zhihu.com/question/21672895/answer/45616136

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

BIOS启动流程:

  1. 系统开机 - 上电自检(Power On Self Test 或 POST)。
  1. POST过后初始化用于启动的硬件(磁盘、键盘控制器等)。
  1. BIOS会运行BIOS磁盘启动顺序中第一个磁盘的首440bytes(MBR启动代码区域)内的代码。
  1. 启动引导代码从BIOS获得控制权,然后引导启动下一阶段的代码(如果有的话)(一般是系统的启动引导代码)。
  1. 再次被启动的代码(二阶段代码)(即启动引导)会查阅支持和配置文件。
  1. 根据配置文件中的信息,启动引导程序会将内核和initramfs文件载入系统的RAM中,然后开始启动内核。

UEFI启动流程:

  1. 系统开机 - 上电自检(Power On Self Test 或 POST)。
  1. UEFI 固件被加载,并由它初始化启动要用的硬件。
  1. 固件读取其引导管理器以确定从何处(比如,从哪个硬盘及分区)加载哪个 UEFI 应用。
  1. 固件按照引导管理器中的启动项目,加载UEFI 应用。
  1. 已启动的 UEFI 应用还可以启动其他应用(对应于 UEFI shell 或 rEFInd 之类的引导管理器的情况)或者启动内核及initramfs(对应于GRUB之类引导器的情况),这取决于 UEFI 应用的配置。

你可能感兴趣的:(硬盘的两种分区和对应启动引导方式)