day23——系统的启动过程、运行级别、单用户模式、救援模式

一、系统的启动过程

Centos6:过程可以分为5个阶段(串行加载):

  • 1.内核的引导。

当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘或光盘)来启动。

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

day23——系统的启动过程、运行级别、单用户模式、救援模式_第1张图片
图1.1.1
  • 2.运行 init。

  • 运行 init

init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的父进程(相当于7系统中的systemd),没有这个进程,系统中任何进程都不会启动。

init 程序首先是需要读取配置文件 /etc/inittab。

day23——系统的启动过程、运行级别、单用户模式、救援模式_第2张图片
图1.2.1
运行级别

许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。

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

但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。

Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。

day23——系统的启动过程、运行级别、单用户模式、救援模式_第3张图片
图1.2.2
  • 3.系统初始化。

启动相应的程序,如:设置主机名、配置网络、装载服务等......因此,初始化就要启动或执行/etc/rc.d/rc5.d/目录下的所有的rc启动脚本,/etc/rc.d/rc5.d/目录中的这些启动脚本实际上都是一些连接文件,而不是真正的rc启动脚本,真正的rc启动脚本实际上都是放在/etc/rc.d/init.d/目录下。

day23——系统的启动过程、运行级别、单用户模式、救援模式_第4张图片
图1.3.1
  • 4.建立终端 。

这时基本系统环境已经设置好了,各种守护进程也已经启动了。

init接下来会打开6个终端,以便用户登录系统。在inittab中的以下6行就是定义了6个终端:

1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

但对我们来说都用的远程终端,因此,这六个可以忽略。

day23——系统的启动过程、运行级别、单用户模式、救援模式_第5张图片
图1.4.1
  • 5.用户登录系统。

接下来加载用户的登陆程序,然后到了我们登陆系统的时候了,之后加载shell界面。

day23——系统的启动过程、运行级别、单用户模式、救援模式_第6张图片
图1.5.1

6.Centos7的启动流程(并行加载):

day23——系统的启动过程、运行级别、单用户模式、救援模式_第7张图片
图1.6.1

二、运行级别

1.Centos6有7个运行级别(runlevel):

  • 运行级别0:系统停机或关机状态(系统默认运行级别不能设为0,否则不能正常启动)
  • 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
  • 运行级别2:多用户状态(没有NFS),不使用。
  • 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
  • 运行级别4:系统未使用,保留
  • 运行级别5:图形化界面
  • 运行级别6:系统正常关闭并重启(默认运行级别不能设为6,否则不能正常启动)
[root@oldzts16:19:02 ~]# runlevel 
N 3
  #N表示上一次运行的级别
  #3表示现在的运行级别
  
切换运行级别:
[root@oldzts16:19:19 ~]# init 5
[root@oldzts16:20:06 ~]# runlevel 
3 5

永久操作   修改/etc/inittab

2.Centos7运行级别(名称变成target):

Cento7里0-6运行级别的名称:

system V init运行级别 systemd目标名称 作用
运行级别0: runlevel0.target -> poweroff.target 关机
运行级别1 runlevel1.target -> rescue.target 单用户模式
运行级别2 runlevel2.target -> multi-user.target 多用户模式
运行级别3 runlevel3.target -> multi-user.target 终端模式
运行级别4 runlevel4.target -> multi-user.target 未使用
运行级别5 runlevel5.target -> graphical.target 图形模式
运行级别6 runlevel6.target -> reboot.target 重启
day23——系统的启动过程、运行级别、单用户模式、救援模式_第8张图片

os7系统下运行级别的查看和切换:

为了os6的用户方便使用,os6系统的查看级别和切换级别的方式os7里面也可以使用

查看当前的运行级别:
[root@oldboyedu ~]# systemctl get-default 
multi-user.target

修改系统下次启动时的运行级别的运行级别:
[root@oldboyedu ~]# systemctl set-default graphical.target 
[root@oldboyedu ~]# systemctl get-default 
graphical.target

systemd

#启动服务   systemctl start
[root@oldboyedu ~]# systemctl start nginx.service 

#停止服务   systemctl stop
[root@oldboyedu ~]# systemctl stop nginx.service

#重启服务   systemctl restart
[root@oldboyedu ~]# systemctl restart nginx.service 

#重载服务   systemctl reload
[root@oldboyedu ~]# systemctl reload nginx.service 

#查看服务   systemctl status
[root@oldboyedu ~]# systemctl status nginx.service

#开机启动服务 systemctl enable
[root@oldboyedu ~]# systemctl enable nginx.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

#取消开机启动服务    systemctl disable
[root@oldboyedu ~]# systemctl disable nginx.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/nginx.service.

#查看下次启动是开启还是关闭  systemctl is-enabled
[root@oldboyedu ~]# systemctl is-enabled nginx.service 
disabled

3.单用户模式

1.确保系统正常,能正常通过引导进入系统

  • 配置文件错误导致无法启动
  • 忘记ROOT密码(我们可以通过快照或者单用户系统恢复)
1、重新启动或开启CentOS7.6系统,在选择进入系统的Grub菜单界面如下图3.1
根据提示按“e”小写字母进入编辑界面,如下图所示:
day23——系统的启动过程、运行级别、单用户模式、救援模式_第9张图片
图3.1
2.然后,要按方向键向下键(否则可能看不到想要找的行),找到以字符串“Linux16”开头的行,将光标移动到该行的结尾,然后输入“enforcing=0 init=/bin/bash”,如下图3.2所示:

注:如果不确定系统是否开启了Selinux或者刚装完没有修改过的系统,则最好加上enforcing=0,此命令是为了关闭Selinux。

day23——系统的启动过程、运行级别、单用户模式、救援模式_第10张图片
图3.2

3.图中的“mount-o rw,remount/”命令是重新挂载根目录为可写状态(rw表示可写,remount是重新挂载),在单用户模式下默认根文件系统是处于只读状态。

day23——系统的启动过程、运行级别、单用户模式、救援模式_第11张图片
图3.3
4.配置完成后,根据界面下面的英文提示按“Ctrl-x”组合键以单用户模式启动Linux如下图3.3所示:
day23——系统的启动过程、运行级别、单用户模式、救援模式_第12张图片
图4.1
5.成功后进入正常登录系统时输入密码的界面,此时再输入刚才修改的密码就可以成功登录了
day23——系统的启动过程、运行级别、单用户模式、救援模式_第13张图片
图3.5

你可能感兴趣的:(day23——系统的启动过程、运行级别、单用户模式、救援模式)