成都网站定制开发,做数学题目在哪个网站好,站酷官网首页,内蒙古建设工程造价信息网官网官方网页文章目录 前言启动流程概述磁盘分区格式MBR磁盘GPT磁盘隐藏分区 传统BIOS引导传统BIOS启动流程 UEFI引导UEFI引导程序UEFI启动流程 引导加载程序启动操作系统相关参考 前言
现代计算机的启动是一个漫长的流程#xff0c;这个流程中会涉及到各种硬件的配置与交互#xff0c;包… 文章目录 前言启动流程概述磁盘分区格式MBR磁盘GPT磁盘隐藏分区 传统BIOS引导传统BIOS启动流程 UEFI引导UEFI引导程序UEFI启动流程 引导加载程序启动操作系统相关参考 前言
现代计算机的启动是一个漫长的流程这个流程中会涉及到各种硬件的配置与交互包括硬件状态检测、设备配置等并最终引导到用户可操作的操作系统界面。
启动流程概述
现代计算机的启动流程总体上可以分成三个阶段BIOS/UEFI启动阶段、引导加载程序以及启动操作系统。如下
其中
BIOS/UEFI阶段完成上电自检、基本硬件初始化选择引导介质并将控制权移交到引导介质上的加载程序引导加载程序负责完成操作系统的选取并引导对应的操作系统启动操作系统操作操作正式开始接管计算机并对硬件继续进行初始化、加载驱动以及拉起系统服务并最终进入人机交互界面。
对于普通计算机而言主要还是从硬盘引导操作系统。
磁盘分区格式
BIOS和UEFI引导方式与磁盘采用的分区格式有对应的关系因此在说明计算机启动流程之前有必要对磁盘分区格式进行一定的了解。通常我们在使用磁盘时都会对磁盘进行分区并在分区上创建文件系统之后进行使用这里涉及到了磁盘是如何管理这些分区信息的。目前有两个标准的分区技术可以被使用MBR分区格式和GPT分区格式。
MBR磁盘
早期计算机基本都是采用MBR磁盘格式并配合传统BIOS引导方式进行启动。MBR全称Master Boot Record即主引导记录是一种将磁盘引导程序和磁盘分区信息保存在磁盘第一个扇区扇区大小512B的磁盘分区格式其结构示意如下 主引导扇区存储的内容包括
引导程序基于传统BIOS方式启动的计算机在上电时会从磁盘第一个扇区加载引导程序到内存指定位置并进行启动。主引导记录可支持存储最长引导程序大小为448字节DPT分区表主引导记录使用64字节大小的空间最多可记录4个分区的信息这也是在windows系统下最多只能创建4个主分区的原因但可以将其中主分区信息设置成扩展分区扩展分区又可以继续划分成多个逻辑分区结束符主引导扇区结束标识。
由于MBR只使用磁盘的第一个扇区来保存分区表信息这导致了一系列限制例如划分的主分区数量不能超过4最大只能识别2TB左右的分区空间。此外若第一个扇区遭到损坏所有的分区信息都会丢失。
GPT磁盘
为了破除只有512个字节的MBR分区表的许多限制技术人员对硬盘分区表的标准进行了升级提出了新的 GUID Partition Table全局唯一标识磁盘分区表简称 GPT 分区表。GPT磁盘的结构示意如下
对GPT磁盘的关键结构进行说明如下
保护MBRGPT磁盘为了保持与MBR磁盘的兼容性将磁盘的第一个扇区定义为保护MBR。GPT分区技术本身不会使用到这个扇区。同时为了防止一些MBR磁盘工具破坏GPT磁盘的分区信息GPT头GPT分区表从第2扇区到第33扇区用于记录分区表信息分区区域磁盘数据分区GPT备份区域包含GPT分区表备份和GPT头备份若GPT头部和分区表遭到损坏可以通过备份区域进行恢复。
隐藏分区
GPT磁盘还包含了两个隐藏分区
ESP分区EFI系统分区主要用于在EFI平台上引导操作系统可以存放EFI引导程序、驱动程序以及系统维护工具等MSR分区微软保留分区与Windows操作系统相关其它操作系统可以不关心。
传统BIOS引导
BIOSBasic Input System即基本输入输出系统是一组固化在计算机主板上一个只读存储器芯片的程序保存着计算机最初始的系统配置信息、上电自检程序和系统初始化程序。
传统BIOS启动流程
BIOS的工作流程和功能可以分为以下几个主要方面
上电自检系统上电后会首先加载BIOS程序执行。BIOS程序启动后会进行上电自检准备硬件BIOS设置并准备好电脑的主要硬件比如CPU和硬盘为启动操作系统做好准备。引导过程BIOS确定从哪个设备硬盘、U盘等启动电脑并开始加载操作系统。系统设置BIOS提供一个界面让用户可以设置或更改电脑的硬件配置。
UEFI引导
UEFI统一可扩展固件接口用于替代传统BIOS的引导方式。
UEFI引导程序
UEFI引导方式主要与GPT磁盘进行配合完成计算机的启动。在前面提到过GPT磁盘中包含了ESP隐藏分区用于存放EFI引导程序。EFI引导程序会在计算机启动后被UEFI固件加载继续执行引导流程。对于不同处理器平台UEFI规范定义的EFI引导程序名称存在差异。
硬件平台文件名PE可执行机器类型32-bitBOOTIA32.EFI0x14cx64BOOTx64.EFI0x8664AArch32BOOTARM.EFI0x01c2Aarch64BOOTAA64.EFI0xAA64
在此以Armv8平台为例可以查看ESP分区通常会被挂载到/boot/efi目录下的EFI引导程序信息
[rootlocalhost BOOT]# file BOOTAA64.EFI
BOOTAA64.EFI: MS-DOS executable PE32 executable (EFI application) Aarch64 (stripped to external PDB), for MS WindowsUEFI启动流程
UEFI的启动流程相对简化了很多在系统上电后UEFI固件被加载执行在UEFI完成基本的系统配置后会从ESP分区查找指定的EFI引导程序并执行随后所有的流程便由EFI引导程序接管。
引导加载程序
启动操作系统
相关参考
《Gentoo Handbook》