Linux系统引导过程的排错与恢复(一)基础概念的理解
系统引导概述
系统引导是什么
系统引导指的是将操作系统内核装入内存并启动系统的过程。系统引导通常是由一个被称为启动引导程序的特殊代码完成的,它位于系统ROM中,用来完成定位内核代码在外存的具体位置、按照要求正确装入内核至内存并最终使内核运行起来的整个系统启动过程。
该过程中,启动引导程序要完成多个初始化过程,当这些过程顺利完成后才能使用系统的各种服务。这些过程包括初始引导、内核初始化、全系统初始化。
系统引导过程
引导过程总览图
在通电之后,系统的引导过程如下:其中,每一步出错,都会导致系统启动异常,
本文将模拟各个过程出现错误的情况,并且给出每个错误的解决方法。
补充:
grub2是什么?
它是用来引导操作系统的工具,可以引导几乎全部的操作系统,甚至不用安装。是grub的升级版,最大的特点是模块化。
它可以引导光盘镜像,软盘镜像,硬盘镜像,网络引导等
可以引导linux,windows,dos,mac等
可以安装在硬盘,光盘,软盘,U盘 上;
支持包括 fat,ntfs,nfs,ext2,ext3,ext4,几十种文件系统。
1.初始引导过程
主要由计算机的BIOS完成。BIOS是固化在ROM中的基本输入输出系统(Basic Input/Output System),其内容存储在主板ROM芯片中,主要功能是为内核运作环境进行预先检测。
2.内核初始化
操作系统内核装入内存后,引导程序将CPU控制权交给内核,此时内核才可以开始执行。内核将首先完成初始化功能,包括对硬件、电路逻辑等的初始化,以及对内核数据结构的初始化,如页表(段表)等
3.全系统初始化
上述两个步骤完成后,最后要做的就是启动用户接口,使系统处于等待命令输入状态即可。这个阶段操作系统做的主要工作是为用户创建基本工作环境,接收、解释和执行用户程序与指令。不同系统、不同设置,全系统初始化完成后的接口表现是不同的。
如果选择了图形界面,此时会显示用户账号和密码输入界面,典型的如Windows的用户登录界面;若使用的是命令接口,则会显示命令行形式的用户登录界面。
无论是图形接口还是命令接口,只要全系统初始化完成,即可使用用户名和相应密码进入操作系统环境。