Linux 系统启动过程详解

989bbaa6cfb6da2ba1e8ea1881fb46db.png

如果有一天你们公司很重要的一台Linux服务器突然启动不了了,重装系统又浪费时间,如果是启动过程有问题,那么你知道启动过程可以快速定位系统问题,很快就可以解决。

73efb5a1ee7437d5c24322f5c6d5b006.jpeg

Linux 系统启动是一个复杂而有序的过程,它是系统从硬件启动到软件运行的全过程。了解 Linux 的启动过程可以帮助我们更好地理解操作系统如何管理计算机资源,以及如何优化系统性能。本文将详细介绍 Linux 系统启动的各个阶段。

986a524ba23bd5290ab4fc1015123758.png

一、内核引导

当计算机打开电源后,首先是 BIOS 开机自检,按照 BIOS 中设置的启动设备(通常是硬盘)来启动。紧接着由启动设备上的 GRUB 程序开始引导 Linux,当引导程序成功完成引导任务后,Linux 从它们手中接管了 CPU 的控制权,然后 CPU 就开始执行 Linux 的核心映象代码,开始了 Linux 启动过程。

二、运行 init 进程

在内核加载完毕后,会启动Linux操作系统第一个守护进程init,这个进程的PID是1,所有的进程都是它的子进程。

通过这个进程读取/etc/inittab文件,/etc/inittab文件的作用是设定Linux的运行等级,文件内容大致如下:

# Default runlevel. The runlevels used by RHS are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
# 
id:3:initdefault:


...

从文件内容知道Linux系统运行等级一共有7种:

0:关机模式,运行等级为0,系统会立即关机,在系统启动后可以利用这种等级对系统进行关机操作,但是不允许将系统下次启动时的等级设定为0,否则系统将无法正常启动(启动后立即关机)。
1:单用户模式,类似于windows系统下的安全模式,具有ROOT权限。
2:无网络支持的多用户模式,顾名思义就是支持多用户登录
3:字符界面多用户模式,文本命令行界面,一般服务器都是此模式
4:保留,未使用模式
5:图形界面多用户模式,系统启动之后会进入到图形化桌面系统中
6:重新引导系统,重启模式,千万不要设置为6,和0相似。

/etc/inittab文件内容中的设定的行:

id:3:initdefault:

表示启动的层级为3,即图形界面多用户模式。一般3和5比较常用,如果需要其它等级,可以手动修改这个值。

每一个运行级别都在/etc目录下有一个对应的子目录,可以指定每一个运行级别需要加载哪些程序,rcN.d的字母d是directory的意思,表示这是一个目录。

init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。init 进程在内核引导完成后立即运行,它的任务是初始化系统环境,创建一些必要的进程和设备,以及为后续的启动步骤做好准备。

三、系统初始化

系统初始化主要通过 rc.sysinit 来进行。这个脚本会进行一些系统特定的初始化操作,比如设置系统时间、挂载文件系统、启动磁盘检查等。此外,rc.sysinit 还会加载并启动一些必要的守护进程和服务,以便在系统启动的后续阶段能够正常运行。

四、建立终端

rc.sysinit 执行完毕后,返回 init。这时基本系统环境设置好了,各种守护进程也已经启动了。init 接下来会打开 6 个终端,以便用户登录系统。这些终端分别是:tty1、tty2、tty3、tty4、tty5 和 tty6。用户可以通过这些终端进行命令行登录或远程登录。

五、用户登录

一般来说,用户的登录方式有三种:命令行登陆、SSH 登陆、图形界面登陆。当用户通过这些方式成功登录后,就可以开始使用 Linux 系统了。

ecf01e3f30b125a3d5db49694d1041f6.png

总之,Linux 系统启动过程是一个从硬件到软件、从引导到登录的复杂过程。通过深入了解这个过程,我们可以更好地理解和优化系统的性能,同时也有助于我们解决系统启动过程中可能遇到的问题。

✨✨ 欢迎关注 ✨✨

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值