Ubuntu的启动过程

尽管通常情况下Ubuntu的启动并不需要用户过多地参与,但是Ubuntu系统的启动本身是一个非常复杂的过程。在这个过程中,有硬件的检测、系统内核的准备以及各种系统服务的启动等。作为系统管理员,需要深入了解其中所经历的阶段,才能在系统无法启动时准备判断问题所在。

按照Linux系统从打开电源到进入系统的顺序,整个启动过程可分为以下阶段。

  • BIOS阶段
  • 引导程序阶段
  • 内核阶段
  • 进入系统

本节将重点介绍BIOS阶段,其他阶段后续分别在其他博文介绍。

7.1.1 BIOS阶段

BIOS又称为基本输入输出系统,是计算机中非常重要的一个软件系统。BIOS有着悠久的历史,诞生于1975年。在PC引导的过程中,BIOS担负着初始化硬件、检测硬件功能以及引导操作系统的责任。

即使计算机断电之后,BIOS也不会丢失。早期的BIOS存储在主板上的只读存储器中,用户不可以修改其内容。随着BIOS功能越来越多以及硬件更新的速度越来越快,BIOS也需要不断地更新以及支持新的硬件。所以,BIOS的存储设备改为EEPROM或者闪存,这样方便用户更新BIOS。

BIOS是用户打开计算机后运行的第一个程序。当用户按下计算机的电源按钮,接通电源,存储在闪存等介质上的BIOS就开始执行。首先完成芯片组和内存的初始化,然后把自身加载到计算机的主存中,继续完成下面三个任务:

(1)加电自检。加电自检是指计算机刚接通电源时对硬件部分的检测,主要目的是检查计算机的硬件是否良好。检查的硬件主要包括CPU、内存、主板、CMOS存储器、串并口、显卡、磁盘以及键盘等,一旦发现问题,系统将给出相应的提示信息或者声音报警。对于严重故障,则停止启动;对于非严重故障,则给出提示等待用户处理。

(2)初始化。初始化包括创建中断向量、设置寄存器、对一些外部设备进行初始化和检测等,其中很重要的一部分是读取CMOS中保存的配置信息,并和实际硬件设置进行比较,如果不符合,就会影响系统的启动。

(3)加载引导程序。当BIOS检查到硬件正常并且与CMOS中的设置相符后,按照CMOS中对启动设备的设置顺序检测可用的启动设备,例如硬盘或者U盘等。BIOS将相应启动设备的第一个扇区,也就是主引导记录扇区读入内存,根据主引导记录中的引导代码启动引导程序。

本文节选自《Ubuntu Linux系统管理与运维实战》,获出版社和作者授权发布。

《Ubuntu Linux系统管理与运维实战(Linux技术丛书)》(张春晓,肖志健)【摘要 书评 试读】- 京东图书 (jd.com)

相关推荐
TeYiToKu2 分钟前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
dsywws5 分钟前
Linux学习笔记之时间日期和查找和解压缩指令
linux·笔记·学习
yeyuningzi13 分钟前
Debian 12环境里部署nginx步骤记录
linux·运维·服务器
上辈子杀猪这辈子学IT31 分钟前
【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作
linux·hadoop·zookeeper·centos·debian
minihuabei36 分钟前
linux centos 安装redis
linux·redis·centos
EasyCVR1 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
lldhsds2 小时前
书生大模型实战营第四期-入门岛-1. Linux前置基础
linux
wowocpp2 小时前
ubuntu 22.04 硬件配置 查看 显卡
linux·运维·ubuntu
山河君2 小时前
ubuntu使用DeepSpeech进行语音识别(包含交叉编译)
linux·ubuntu·语音识别
鹏大师运维2 小时前
【功能介绍】信创终端系统上各WPS版本的授权差异
linux·wps·授权·麒麟·国产操作系统·1024程序员节·统信uos