操作系统启动相关概念(BIOS、MBR、GPT、BRUB)

不管是 Windows 还是 Linux 操作系统,底层设备一般均为物理硬件,操作系统启动之前会对硬件进行检测,然后硬盘引导启动操作系统,如下为操作系统启动相关的各个概念。

一、BIOS

基本输入输出系统(Basic Input Output System,BIOS)是一组固化到计算机主板上的只读内存镜像(Read Only Memory image,ROM)芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。主要功能是为计算机提供最底层的、最直接的硬件设置和控制。

二、 MBR

全新硬盘在使用之前必须进行分区格式化,硬盘分区初始化的格式主要由两种,分别是:MBR 格式和 GPT 格式。

使用 MBR 格式,操作系统将创建主引导记录扇区(Main Boot Record,MBR),MBR 位于整块硬盘的 0 磁道 0 柱面 1 扇区,主要功能是操作系统对磁盘进行读写时,判断分区的合法性以及分区引导信息的定位。主引导扇区总共为 512 字节,MBR 只占用了其中的 446 个字节,另外的 64 个字节为硬盘分区表 (Disk Partition Table,DPT),最后两个字节"55,AA"是分区的结束标志。

因为 MBR 分区标准决定了 MBR 只支持在 2TB 以下的硬盘,对于后面的多余空间只能浪费。为了支持能使用大于 2T 硬盘空间,微软和英特尔公司在可扩展固件接口(Extensible Firmware Interface,EFI)方案中开发了全局唯一的标识符(Globallyunique identifier,GUID),进而全面支持大于 2T 硬盘空间在企业中使用。

三 、GPT

全局唯一的标识符(Globally unique identifier,GUID)。全局唯一标识分区表(GUID Partition Table,缩写:GPT),正逐渐取代 MBR 成为新标准。它和统一的可扩展固件接口 (Unified Extensible Firmware Interface,UEFI)相辅相成。UEFI 用于取代老旧的 BIOS,而 GPT 则取代老旧的 MBR。之所以称为"GUID 分区表",是因为驱动器上的每个分区都有一个全局唯一的标识符。

在 GPT 硬盘中,分区表的位置信息储存在 GPT 头中。出于兼容性考虑,第一个扇区同样有一个与 MBR 类似的标记,叫做受保护的主引导记录(Protected Main BootRecord,PMBR)。PMBR 的作用是当使用不支持 GPT 的分区工具时,整个硬盘将显示为一个受保护的分区,以防止分区表及硬盘数据遭到破坏,而其中存储的内容和 MBR 一样,之后才是GPT 头。

GPT 优点支持 2T 以上磁盘,如果使用 Fdisk 分区,最大只能建立 2TB 大小的分区,创建大于 2TB 的分区,需使用 parted,同时必须使用 64 位操作系统。

GPT分区表内容

四、GRUB

GNU 项目的多操作系统启动程序(GRand Unified Bootloader,GRUB),可以支持多操作系统的引导,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。

GRUB 可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。它是一个多重操作系统启动管理器。Linux常见的引导程序包括:LILO、GRUB、GRUB2,CentOS 7 Linux 默认使用 GRUB2 引导程序,引导系统启。

GRUB2 是基于 GRUB 开发成更加安全强大的多系统引导程序,最新 Linux 发行版都是使用 GRUB2 作为引导程序。同时 GRUB2 采用了模块化设计,使得 GRUB2 核心更加精炼,使用更加灵活,同时也就不需要像 GRUB 分为 stage1,stage1.5,stage2 三个阶段。

GRUB 加载引导流程

相关推荐
7yewh10 分钟前
嵌入式Linux QT+OpenCV基于人脸识别的考勤系统 项目
linux·开发语言·arm开发·驱动开发·qt·opencv·嵌入式linux
小张认为的测试14 分钟前
Linux性能监控命令_nmon 安装与使用以及生成分析Excel图表
linux·服务器·测试工具·自动化·php·excel·压力测试
打鱼又晒网22 分钟前
linux网络套接字 | 深度解析守护进程 | 实现tcp服务守护进程化
linux·网络协议·计算机网络·tcp
良许Linux36 分钟前
0.96寸OLED显示屏详解
linux·服务器·后端·互联网
蜜獾云1 小时前
docker 安装雷池WAF防火墙 守护Web服务器
linux·运维·服务器·网络·网络安全·docker·容器
小屁不止是运维1 小时前
麒麟操作系统服务架构保姆级教程(五)NGINX中间件详解
linux·运维·服务器·nginx·中间件·架构
bitcsljl1 小时前
Linux 命令行快捷键
linux·运维·服务器
ac.char1 小时前
在 Ubuntu 下使用 Tauri 打包 EXE 应用
linux·运维·ubuntu
Cachel wood1 小时前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
Youkiup2 小时前
【linux 常用命令】
linux·运维·服务器