Linux系列:Linux 的启动流程_开机启动



  1. 第一步、加载内核
  2. 第二步、启动初始化进程
  3. 第三步、确定运行级别
  4. 第四步、加载开机启动程序
  5. 第五步、用户登录
  6. 第六步、进入login shell



第一步、加载内核


读入 /boot 目录下的内核文件

Linux系列:Linux 的启动流程_bash_02



第二步、启动初始化进程


开始运行第一个程序 /sbin/init,它的作用是初始化系统环境

Linux系列:Linux 的启动流程_加载_03

init是第一个运行的程序,它的进程编号(pid)就是1。其他所有进程都从它衍生,都是它的子进程



第三步、确定运行级别


在Windows叫做"服务"(service),在Linux就叫做"​​守护进程​​"(daemon)

init进程的一大任务,就是去运行这些开机启动的程序。

首先读取文件 /etc/inittab,它是运行级别的设置文件

Linux系列:Linux 的启动流程_开机启动_04


第四步、加载开机启动程序


目录 /etc/init.d ,真正的启动脚本都统一放在这个目录中。init进程逐一加载开机启动程序,其实就是运行这个目录里的启动脚本。

Linux系列:Linux 的启动流程_bash_05




第五步、用户登录


开机启动程序加载完毕以后,就要让用户登录了。

       (1)命令行登录:读入 /etc/profile、~/.bash_profile、~/.bash_login、~/.profile

  (2)ssh登录:     读入 /etc/profile、~/.bash_profile、~/.bash_login、~/.profile

  (3)图形界面登录:只加载 /etc/profile 和 ~/.profile

Linux系列:Linux 的启动流程_加载_06


第六步、进入login shell.


用户登录时打开的shell,就叫做login shell。

Linux系列:Linux 的启动流程_bash_07