Linux系统启动过程介绍(1)

概述

对操作系统的启动过程一直是比较模糊,想想大概经历检查硬件,加载操作系统,加载

用户环境等几个过程,但实际上要复杂一些。毕竟我们只是了解和掌握启动过程,而不是去

对启动过程进行设计和编码,所以下面的介绍相对比较简单,也点到为止。如果有想深入学

习的同学,可以针对某个或某几个部分刨根问题,编码调试。

下面以Debian Linux的启动加载为例,简单介绍一下操作系统的启动。

经历的过程如下:

开机自检(POST)---->执行基本输入输出(BIOS)---->加载系统分区表数据(MBR开

始的512字节)---->加载引导程序(grub之类)---->加载Linux内核----->系统环境初始化-----

------->用户环境初始化

开机自检(POST)

这部分没有什么多余的东西,计算机连上电源用户按下启动按钮后,计算机自己检测CPU,

内存,硬盘等硬件设备是否处在可用状态。如果可以使用,继续下一步的工作,即将运行权

交给BIOS,否则利用峰鸣器报警。这也是修理电脑的专家根据蜂鸣器报警声判断系统那里有

问题的依据。

执行基本输入输出(BIOS)

BIOS(Basic Input Output System)基本输入输出程序。该程序完成最基本的硬件位置

处理,设置硬中断等。然后将MBR最开始的程序调入到CPU上运行,运行权进而交给MBR。

MBR加载

MBR(Master boot record),是启动磁盘最开始的512字节,这里包含了分区信息和一

个引导程序。分区信息记载了磁盘的分区情况,引导程序即是我们比较熟悉的Grub,LiLo等,

用来指引从什么位置加载内核程序。

引导程序加载Grub(GRand Unified Bootloader)

Grub在配置的时候指定在什么分区的什么位置加载内核,Grub2以前的版本中grub都是

有两个或者多个加载过程的,会去加载stage1,stage1_5,stage2文件,这些文件都在

/boot/grub目录下。之所以会有这些文件,是因为在加载的早期,一次只能加载512字节,太

多文件的话,只能分批加载。

现在,在Grub2中已经找不到这个文件了,加载和引导的过程会另外介绍。

内核加载过程

由于在Grub中记录了内核的具体位置,在Grub运行完毕后,就开始加载内核,运行权限随

之交给内核。

内核接过运行权限,开始探测系统的硬件,加载硬件对应的驱动(有些以模块运行的驱动,

是需要挂载文件系统才能加载),然后挂载文件系统,从文件系统中读取数据。

这个过程的如下:

内核探测硬件------>加载驱动(initrd)------>挂载根文件系统------>rootfs(/sbin/init)

系统初始化工作

最后运行权交给了/sbin/init程序,开始跑初始化的脚本内容。(待续)

(0)

相关推荐

  • linux系统启动weblogic受管服务器报unable to get file lock, will ret_daring的解决

    linux系统启动weblogic受管服务器报如下错误时: 解决方法:进入cd Middleware/ ,使用 find . -name *.lok 命令查找文件,然后删除即可。 例: rm ./us ...

  • Win10系统Bash强行跑出Linux GUI应用介绍

    在Bash中,有很多符号具有特殊含义,比如“$”符号被用于字符串展开,“&”符号用于让命令在后台执行, “|”用作管道, “>”“<”用于输入输出重定向等等. 在Build2016 ...

  • linux 2t快速分区过程介绍

    在生产环境中,我们会遇到分区大于2T的磁盘(比如:添加一个10TB的存储),由于MBR分区表只支持2T磁盘,所以大于2T的磁盘必须使用GPT分区表,而我们在做raid时会划分多个VD来进行装系统,但系 ...

  • 解析Linux系统启动的引导流程

    LINUX是自由开源软件,在LINUX里一切都是文件,不管是命令,操作等等都是以文件形式保存,这篇博客来记录LINUX启动时的引导流程是通过哪写文件来完成的. 使用的LINUX版本是CentOS5,C ...

  • Windows2000系统 XP系统启动过程

    Windows2000/XP是一个优秀的操作系统,它功能强大,安全稳定,深受广大电脑用户青睐。但在使用过程中,我们明显地感觉到它的启动时间比Windows98要延长许多,比之Windows98更能考验 ...

  • windows xp系统启动模式介绍

    在这个网络开放的时代,用户在使用电脑时就会出现各种各样的问题,比如计算机不能正常启动出现故障时,我们通常都知道系统启动时按F8就会进入winowsxp高级选项菜单,各种不同的启动模式,相信很多用户了解 ...

  • Windows2000系统 XP系统启动过程详解

    操作方法 01 Windows2000/XP是一个优秀的操作系统,它功能强大,安全稳定,深受广大电脑用户青睐.但在使用过程中,我们明显地感觉到它的启动时间比Windows98要延长许多,比之Windo ...

  • CentOS简介与RedHat Linux的区别介绍

    CentOS的简介 CentOS是Community ENTerprise Operating System的简称,我们有很多人叫它社区企业操作系统,不管你怎么叫它,它都是Linux操作系统的一个发行 ...

  • Windows XP 系统启动过程概述

    从按下计算机开关启动计算机,到登入到桌面完成启动,一共经过了以下几个阶段: 1. 预引导(Pre-Boot)阶段; 2. 引导阶段; 3. 加载内核阶段; 4. 初始化内核阶段; 5. 登陆。 每个启 ...