当前位置:编程学堂 > Linux系统启动流程

Linux系统启动流程

  • 发布:2023-10-09 21:16

系统启动流程

一般来说,Linux系统启动过程可以简单概括为以下几个步骤:
1)启动BIOS自检并加载硬盘。
2) 读取MBR并执行MBR引导。
3) grub 引导菜单(引导加载程序)。
4) 加载内核kernel。
5) 启动init进程,并根据inittab文件设置运行级别
6) Init进程,执行rc.sysinit文件。
7) 启动内核模块并执行不同级别的脚本。
8) 执行/etc/rc.d/rc.local
9) 启动mingetty,进入系统登录界面。

安装Linux系统时,如果要设置启动项,可以:
开机到BIOS提醒界面,按F11(戴尔服务器使用的方法)进入BIOS设置BOOT MENU,然后然后设置启动项:硬盘HD启动、CD/DVD启动、或U盘USB启动。

以下是Linux操作系统启动过程的详细分析和记录:

加载内核
操作系统接管硬件后,首先读取/boot目录下的内核文件。

开始初始化过程
内核文件加载后,第一个程序/sbin/init开始运行。它的作用是初始化系统环境
操作系统》/boot》init进程

确定运行级别
许多程序需要启动。它们在 Windows 中称为“服务”,在 Linux 中称为“守护进程”。
init进程的一个主要任务就是运行这些开机启动的程序。
但是,不同的情况需要启动不同的程序。例如,作为服务器使用时,需要启动Apache,但作为桌面使用时,则不需要启动。
Linux允许为不同的场合分配不同的启动程序,这称为“运行级别”。也就是说,根据启动时的“运行级别”,决定运行哪些程序。
操作系统》/boot》init进程》运行级别

Linux 自带了 7 个预设的 init 运行级别(0-6):
0:关机模式(相当于关机)
1:单用户模式(破解 root 密码的方法:Linux 系统 root 密码忘记)案例解决方案)
2:无网络支持的多用户模式
3:带网络支持的多用户模式(即文本模式,工作中最常用的模式)
4:保留,未使用
5:带网络支持的 X-windows 支持多用户模式(即Desktop图形模式)
6:重启系统,即重新启动(相当于重启)
init进程首先读取文件/etc/inittab,该文件是运行级别设置文件。

加载启动程序
/etc/rcN.d 七个目录中列出的程序都设置为链接文件,指向另一个目录/etc/init.d,
真正的启动脚本是 Put它们统一在这个目录下。 init进程一一加载启动程序,实际上就是运行该目录下的启动脚本。
操作系统》/boot》init进程》运行级别》/etc/init.d

用户登录
引导程序加载后,用户将登录。
操作系统》/boot》init进程》运行级别》/etc/init.d》用户登录

进入登录shell
所谓shell简单来说就是一个命令行界面,允许用户直接与操作系统对话。
用户登录时打开的shell称为登录shell。
操作系统》/boot》init进程》运行级别》/etc/init.d》用户登录》登录shell

打开非登录shell
上一步完成后,Linux启动过程就结束了,用户已经可以看到命令行提示符或者图形界面了。
不过,为了完整起见,这一步必须再介绍一次。
用户进入操作系统后,往往会手动打开shell。
这个shell称为非登录shell,意思是它与登录时出现的shell不同,不会读取/etc/profile和.profile等配置文件。
操作系统》/boot》init进程》运行级别》/etc/init.d》用户登录》登录shell》非登录shell

相关文章