简述linux开机启动过程

第一步:加电

第二步:加载BIOS设置,选择启动盘。

这是因为因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信 息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。在BIOS将系统的控制权交给启动硬盘第一个扇区之后,就开始由Linux来控制系统了。

第三步:加载磁盘中MBR中的grub。

MBR(Master Boot Record):即主引导分区,是启动盘的前512字节,里面存放了预启动信息和分区信息。前446个字节,即是grub引导程序后66个字节是分区表的信息。

第四步:加载Linux内核系统到内存当中,运行超级进程/sbin/init进程。

在Linux系统中,init进程的进程号永远是1,也就是说,系统中的所有进程的父进程都是init进程。可以使用命令pstree进行查看。

第五步:加载配置文件。

init程序启动之后,会读取/etc/inittab文件,来决定系统的运行级别,Linux系统的运行级别有7中,从0-6
# 0 - 关机模式(千万不要把initdefault设置为0 ,要不然你永远开不了机)
# 1 - 单用户模式 (此模式相当于救援模式,内核损坏,root忘记密 等可以使用此模式进行恢复 。想当于windows下的安全模式)
# 2 - 多用户,但是没有NFS
# 3 - 完全多用户模式 (文本命令行界面,一般服务器都是此模式)
# 4 - 保留未使用
# 5 - 图形桌面(系统启动之后会进入到图形化桌面系统中)
# 6 - 重新启动(千万不要把initdefault设置为6 )
平时我们常用的也就是1,3,5。可以使用init 3 ,init 5进行切换。运行级别决定之后,加载相应的配置文件。第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,它做的工作非常多,包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等

第六步:加载内核模块,具体是依据/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块。

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

第八步:启动init.d下的系统进程

第九步:出现登录系统的画面。

开机过程结束。

linux开机启动过程(简述)相关推荐

  1. linux 打开上一级目录,linux开机启动过程、PATH、过滤一级目录、cd的参数、ls -lrt、命令切割日志...

    第二波命令正向我方来袭 :开机启动过程.PATH.过滤一级目录.cd的参数.ls -lrt.命令切割日志 1.1 linux开机启动过程 1.1.1 开机自检(BIOS)-- MBR引导-- GRUB ...

  2. Linux开机启动过程:从点下电源键到系统正常运行

    学习内核,只要是要以柔克刚,不能急于求成.共勉 <Linux开机启动过程(1):内核引导过程> <Linux开机启动过程(2):内核启动的第一步> <Linux开机启动过 ...

  3. Linux开机启动过程详细分析

    from: http://www.linuxidc.com/Linux/2007-11/8701.htm 由于操作系统正在变得越来越复杂,所以开机引导和关机下电的过程也越来越智能化.从简单的DOS系统 ...

  4. 001.Linux开机启动过程

    相关Linux启动过程解析,此作为通用启动参考: 转载于:https://www.cnblogs.com/itzgr/p/10285833.html

  5. Linux开机启动过程(9):进入内核入口点之前最后的准备工作

    内核初始化 第三部分 在原文的基础上添加了5.10.13部分的源码解读. 进入内核入口点之前最后的准备工作 这是 Linux 内核初始化过程的第三部分.在上一个部分 中我们接触到了初期中断和异常处理, ...

  6. Linux开机启动过程(4):切换到64位模式-长模式(直到内核解压缩之前)

    内核引导过程. Part 4. 本文是在原文基础上经过本人的修改. 切换到64位模式 直到内核解压缩之前的所有步骤 这是 内核引导过程 的第四部分,我们将会看到在保护模式中的最初几步,比如确认CPU是 ...

  7. Linux开机启动过程(3):显示模式初始化和进入保护模式

    内核启动过程,第三部分 本文是在原文基础上经过本人的修改. 显示模式初始化和进入保护模式 这一章是内核启动过程的第三部分,在前一章中,我们的内核启动过程之旅停在了对 set_video 函数的调用(这 ...

  8. Linux开机启动过程(2):内核启动的第一步

    在内核安装代码的第一步 本文是在原文基础上经过本人的修改. 内核启动的第一步 在上一节中我们开始接触到内核启动代码,并且分析了初始化部分,最后我们停在了对main函数(main函数是第一个用C写的函数 ...

  9. Linux开机启动过程(6):页表的初始化、避开保留的内存、地址随机化

    内核引导过程. Part 6. 简介 这是内核引导过程系列文章的第六部分.在前一部分,我们已经看到了内核引导过程的结尾,但是我们跳过了一些高级部分. 你可能还记得,Linux内核的入口点是 main. ...

最新文章

  1. Android gallery详解
  2. 【Paper】2021_Optimal Distributed Leader-following Consensus of Linear Multi-agent Systems: A Dynamic
  3. Spark Streaming实时流处理学习
  4. 基于Nexys4 DDR的VGA显示图片
  5. 用数组选出最大的数并且排序
  6. 【51Nod - 1103】N的倍数 (思维,鸽巢原理也叫抽屉定理,求倍数问题取模)
  7. 一文彻底搞懂Java中的值传递和引用传递!
  8. 计算机二级考试操作题outlook,2017年计算机考试二级考试操作题.doc
  9. Python MySQL示例教程
  10. 使用js实现预览上传的图片
  11. 使用 SOUI 开发高 DPI 桌面应用程序
  12. javaweb超市商品库存信息管理系统报告
  13. python 使用公司邮箱发邮件_python3使用腾讯企业邮箱发送邮件的实例
  14. html5 csss透明,详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
  15. 16S rDNA测序数据下载 | Qiime下载安装
  16. QLCDNumber设置背景色和显示数字颜色
  17. 自然语言处理----常用函数简析
  18. python利用range生成包含1-10的列表_Python列表干货:创建数字列表:range()函数用法...
  19. python matplotlib坐标轴刻度设置
  20. finereport 激活码

热门文章

  1. hash、set、zset的底层数据结构原理,非科班生金九银十求职经历
  2. 可以清理掉重复文件的PC软件
  3. 黑马52期学后总结笔记(三)
  4. 第二章 操作系统的硬件环境
  5. Windows Server 2008 R2 英文版 修改桌面主题(Win7主题)
  6. KVM之Nova通过libvirt管理QEMU/KVM虚机
  7. 高考结束了以后应该做的事情(个人经历的总结)
  8. ./configure 的配置和用法
  9. 安卓手机管理_安卓手机清理大师app下载-安卓手机清理大师下载v1.0.0安卓版
  10. WebChat 清爽来袭 - JavaChat系统Ⅳ