1、POST : 加电自检

当给计算机上电,主板上的CMOS芯片获得电源,会执行其上的BIOS(基本输入输出系统Basic I/O System)程序 。BIOS程序会根据CMOS上的硬件配置信息,去检查硬件是否存在及是否能正常工作,最后进行硬件初始化。

2、加载bootloader

根据启动顺序找到第一个可以启动的磁盘,加载其MBR中的BootLoader ; BootLoader就是将内核加载至内存中、解压展开。

由于MBR只有512byte,Bootloader占用前446bytes,这么小的空间不可能放置很多的程序,所以Bootloader(grub)就分为3个阶段(stage)完成:

stage1: 加载Bootloader的主程序(位于MBR中)用于加载stage 1.5的代码;

stage1.5: 位于MBR之后的扇区,让statge1中的bootloader能够识别stage2所在的分区文件系统;

stage2:通过Bootloader加载所有的配置文件及相关参数,这些参数都位于磁盘/boot/grub中;

3、内核初始化

此时BootLoader需要将内核程序加载至内存,并进行解压,展开,控制权也移交给内核;内核需要检测硬件设备,并加载硬件驱动;但是内核程序本身也是放在硬盘的/boot分区上,这就需要先加载硬盘驱动;

此时就需要一个临时根文件系统代替一个真正的文件系统行使权力,即initrd.   Bootloader会将initrd程序加载至内存,initrd会模拟出一个虚拟的根文件系统,这样就可以加载硬件驱动等启动过程中需要的程序,加载完成后,并完成根切换;然后内核运行用户空间第一个程序/sbin/init ,至此,系统将交由init进行管理;

4、init 初始化

init 主要是进行软件环境初始化,它会读取配置文件/init/inittab(cent5/6)或systemd(centos7),读取默认运行级别;运行 /etc/rc.d/rc.sysinit 进行系统初始化;关闭相应级别的需要停止的服务,启动对应级别下需要开启的服务--->设置登录终端;至此,系统启动完毕。。。

linux操作系统开机启动,简述linux操作系统启动流程相关推荐

  1. 内核提速开机linux,Linux操作系统开机启动提速方法介绍。

    Linux系统是十分优秀的操作系统,但启动时间长是该系统的缺点之一.那么能否通过一些设置来缩短Linux系统的启动时间呢?当然可以.本文将向读者展示如何在不牺牲Linux系统可用性的前提下,缩短系统的 ...

  2. linux服务开机启动chkconfig,Linux开机服务自启动之chkconfig命令详解

    1. 了解chkconfig chkconfig是用于管理应用程序是否随系统自启动. chkconfig仅仅是高效管理工具,包括设置和查询,但并不必要.没有它,也有很多方法可以使程序开机自启动. ch ...

  3. linux mongodb开机启动脚本,Linux下设置MongoDB开机自启动

    将MongoDB服务加入随机启动 vi /etc/rc.local 使用vi编辑器打开配置文件,并在其中加入下面一行代码 /usr/local/mongodb/bin/mongod -dbpath=/ ...

  4. 嵌入式linux的u-boot系统启动过程,嵌入式linux操作系统u-boot启动顺序以及代码解析...

    嵌入式linux操作系统u-boot启动顺序以及代码解析 (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 Bootloader/u-bo ...

  5. linux自定义开机启动服务和chkconfig使用方法

    文章转载! linux自定义开机启动服务和chkconfig使用方法 1. 服务概述 在linux操作系统下,经常需要创建一些服务,这些服务被做成shell脚本,这些服务需要在系统启动的时候自动启动, ...

  6. linux修改开机启动,Linux修改开机启动logo

    默认开机LOGO会在液晶屏的左上脚显示一只小企鹅,分辨率为80*80,具体在kernel/drivers/video/logo下会有logo_linux_clut224.ppm这幅图像,程序会根据这幅 ...

  7. linux 添加开机启动项的三种方法。

    原文地址: https://blog.csdn.net/lylload/article/details/79488968 Shell环境变量配置文件:https://blog.csdn.net/yzs ...

  8. ​linux 添加开机启动项的三种方法

    linux 添加开机启动项的三种方法. (1)编辑文件 /etc/rc.local 输入命令:vim /etc/rc.local 将出现类似如下的文本片段: #!/bin/sh # # This sc ...

  9. Linux 添加开机启动项的三种方法

    linux 添加开机启动项的三种方法. (1)编辑文件 /etc/rc.local 输入命令:vim /etc/rc.local 将出现类似如下的文本片段: #!/bin/sh # # This sc ...

  10. archlinux grub启动无win7_CentOS Linux操作系统各种启动和服务管理

    CentOS7.3学习笔记总结(六十七)- CentOS Linux操作系统各种启动和服务管理 linux启动流程: CentOS5.6: 开机主板自检-MBR引导-装在GRUB-加载内核-Init进 ...

最新文章

  1. .NET Remoting中的通道注册
  2. 重做日志和控制文件的多路复用
  3. harmonyos能装app吗,真机运行HarmonyOS应用APP
  4. linux——yum的搭建说明
  5. eclipse实现批量修改文件的编码方式
  6. 《程序员开发心理学》阅读笔记一
  7. 实验二 预测分析算法的设计与实现
  8. 华为笔记本linux好不好,华为笔记本怎么样
  9. 修改计算机照片格式怎么修,电脑上如何修改照片文件大小?2种免费方法简单解决...
  10. linux怎么样用终端打开百度,linux下用终端访问百度网站.doc
  11. 2021年河南省高考数据统计:河南省参加考试人数占报名人数的83.7%,本土156所高校(1所211大学)
  12. 关于深度态势感知问题的思考
  13. UESTC-2016dp专题 F 柱爷与三叉戟不得不说的故事
  14. 2. ROS安装(官网教程/简单好用)
  15. Java——继承、方法覆盖
  16. Asp.net2.0电子商务网源码
  17. 荣耀发布开发者服务平台,智慧生态合作提速
  18. vue判断在安卓app、IOSapp、微信浏览器、安卓浏览器、IOS浏览器、PC浏览器下作不同处理
  19. jfinal连接oracle_jfinal数据库连接配置
  20. 傅立叶变换c语言实现

热门文章

  1. 在IE浏览器中url传参长度问题
  2. 《JAVA与模式》之解释器模式
  3. MFC通过txt查找文件并进行复制-备忘
  4. 学术族谱典型用户及典型场景模拟
  5. php soap 超时,PHP SoapClient超时
  6. python中out函数_cython函数输出与python函数outpu略有不同
  7. 拓端tecdat|R语言量化交易RSI策略:使用支持向量机SVM
  8. 拓端tecdat|R语言中的prophet预测时间序列数据模型
  9. (6)matplot去掉坐标轴
  10. 字符串s长度为偶数python_Python实现读取字符串按列分配后按行输出示例