启动第一步--加载BIOS
打开计算机电源,计算机会首先加载BIOS信息, BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息等等。

启动第二步--读取MBR
硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,存放了预启动信息、分区表信息。
系统找到BIOS所指定的硬盘的MBR后,就会将其复制到0×7c00地址所在的物理内存中。其实被复制到物理内存的内容就是Boot Loader,而具体到你的电脑,那就是lilo或者grub了。

启动第三步--Boot Loader
Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备。Boot Loader有若干种,其中Grub、Lilo是常见的Loader。系统读取内存中的grub配置信息(一般为menu.lst或grub.lst),并依照此配置信息来启动不同的操作系统。

启动第四步--加载内核
根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压缩操作。此时,屏幕一般会输出“Uncompressing Linux”的提示。当解压缩内核完成后,屏幕输出“OK, booting the kernel”。
系统将解压后的内核放置在内存之中,并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立。至此,Linux内核已经建立起来,基于Linux的程序应该可以正常运行。

启动第五步--用户层init依据inittab文件来设定运行等级
内核被加载后,第一个运行的程序便是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件来进行初始化工作。
/etc/inittab文件最主要的作用就是设定Linux的运行等级,其设定形式是“:id:5:initdefault:”,这就表明Linux需要运行在等级5上。Linux的运行等级设定如下:

  • 0:关机
  • 1:单用户模式
  • 2:无网络支持的多用户模式
  • 3:有网络支持的多用户模式
  • 4:保留,未使用
  • 5:有网络支持有X-Window支持的多用户模式
  • 6:重新引导系统,即重启

启动第六步--init进程执行rc.sysinit
在设定了运行等级后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,它设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等。

启动第七步--启动内核模块
具体是依据/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块。

启动第八步--执行不同运行级别的脚本程序
根据运行级别的不同,系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。

启动第九步--执行/etc/rc.d/rc.local
你如果打开了此文件,里面有一句话,读过之后,你就会对此命令的作用一目了然:

# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don’t
# want to do the full Sys V style init stuff.

rc.local就是在一切初始化工作后,Linux留给用户进行个性化的地方。你可以把你想设置和启动的东西放到这里。

启动第十步--执行/bin/login程序,进入登录状态
此时,系统已经进入等待用户输入username和password状态,用户可以用自己的帐号登入系统 \

Linux系统的启动引导过程相关推荐

  1. Linux系统的启动引导过程(转)

    启动第一步--加载BIOS 打开计算机电源,计算机会首先加载BIOS信息, BIOS中包含了CPU的相关信息.设备启动顺序信息.硬盘信息.内存信息.时钟信息等等. 启动第二步--读取MBR 硬盘上第0 ...

  2. 详解linux系统的启动过程及系统初始化

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://chrinux.blog.51cto.com/6466723/1192004 一. ...

  3. Linux系统的启动过程

    下面是整个Linux系统的启动过程: Linux Boot Step Start BIOS ​ ​ grub/lilo ​ ​ Kernel boot ​ ​ init rc.sysinit ​ ​ ...

  4. linux启动过程剖析,分析Linux系统的启动过程

    导读 一直使用linux系统,却对系统启动过程及系统初始化和各种服务的启动不太清楚.今天终于搞明白整个是怎么一回事了.本来想自己写篇文章,刚好在网上看到一篇不错的介绍,很详细,就直接拿来了. Linu ...

  5. Linux系统的启动过程(转)

    下面是整个Linux系统的启动过程:   Linux Boot Step Start BIOS grub/lilo Kernel boot init rc.sysinit rc mingetty lo ...

  6. linux服务器知识学习:了解Linux系统的启动过程

    linux启动时我们会看到许多启动信息. Linux系统的启动过程 其过程可以分为5个阶段: 内核的引导. 运行 init. 系统初始化. 建立终端 . 用户登录系统. 点击进入原文(图文版)地址 一 ...

  7. 安装redhat系统步骤图解_linux安装教程(红帽RedHat Linux 9)光盘启动安装过程图解

    RedHat Linux是目前世界上使用最多的Linux操作系统.因为它具备最好的图形界面,无论是安装.配置还是使用都十分方便,而且运行稳定,因此不论是新手还是老玩家都对它有很高的评价.现在,RedH ...

  8. linux系统的启动过程 5个步骤,第5章 Linux系统启动过程.ppt

    <第5章 Linux系统启动过程.ppt>由会员分享,可在线阅读,更多相关<第5章 Linux系统启动过程.ppt(26页珍藏版)>请在人人文库网上搜索. 1.第5章 Linu ...

  9. edHat linux光盘引导,Red Hat Linux 9光盘启动安装过程

    Red Hat Linux 9光盘启动安装过程 Red Hat Linux 9光盘启动安装过程 RedHat Linux是目前世界上使用最多的Linux寒作系统.因为它具备最好的图形界面,无论是安装. ...

最新文章

  1. Visual Studio 2015编译Lua 5.3.4遇到的坑
  2. 先自己看文档和百度再沟通
  3. Caffe学习笔记2
  4. 02: MySQL的安装与基本配置
  5. 计算机软件工作总结,计算机软件培训总结及小结-工作总结
  6. Javascript 基础笔记
  7. ENABLING SPIKE-BASED BACKPROPAGATION FOR TRAINING DEEP NEURAL NETWORK ARCHITECTURES
  8. python如何保存图像_Python应用引擎:如何保存图像?
  9. POJ 1655:Balancing Act
  10. 列举5种IE haslayout的属性及其值?
  11. 掘金 MySQL 小册的艰辛创作历程
  12. Android保存照片到相册
  13. 企业生产现场中5S管理的应用
  14. AE快速输出GIF动图格式插件:GifGun for Mac(支持ae2022)
  15. linux zip,tar压缩文件夹 忽略 .git 文件夾
  16. JavaScript形而上的策略模式
  17. 统计系统技术方案-clickhouse
  18. Spring session redis ERR unknown command 'CONFIG'
  19. [跟练]基于七普修正Worldpop人口栅格数据(附2020年worldpop100m人口栅格)
  20. linux 安装`软件报错

热门文章

  1. Python 之vim编写python自动补全
  2. IKE IPSEC ×××
  3. PL/SQL -- 动态SQL
  4. Firefox 3.6最新功能:网页可根据设备方位调整角度
  5. kafka 学习总结
  6. 为什么 CAPTCHA 变得越来越难?因为 AI 更聪明了
  7. 按失真类型分类整理TID2008
  8. No-PDO-Models-MySQL数据库层抽象类
  9. maven进行junit测试时报错(二)
  10. ArcGIS Engine生成等值线(C#)