服务器linux开机引导过程,init服务状态的七个级别,init级别之间的切换

linux操作系统的引导过程

一般包括以下几个阶段:开机自检(bios加电自检),MBR引导,GRUB菜单,加载内核,init进程初始化

开机自检:服务器开机后,根据主板BIOS设置对硬件进行检测,检测成功后大多时候移交给本机硬盘,BIOS基本输入输出系统主要功能:加电自检,硬件初始化,引导操作系统(boot),BIOS放电是恢复出厂设置

**MBR引导:**本地硬盘启动系统时,根据第一个扇区mbr主引导系统,一般为512个字节(446,64,2)

GRUB菜单:GRUB菜单(统一启动加载器)是使用最为广泛的多系统引导程序,系统控制权转交个GURB菜单后,将会显示菜单启动给用户选择,centos7采用的GRUB2引导器

加载linux内核:是一个预先编译好的特殊二进制文件,介于硬件和系统程序之间,负责资源的调配
内核文件在:/boot/vmlinuz-3.10.0-862.el7.x86_64

init进程初始化:为了进一步完成系统的引导过程,内核首先将/boot/init程序加载到内存中运行,init进程负责完成系列的系统初始化过程,最后等待用户最终登录
init进程使用数字标记,每个进程的身份标记PID,因此init进程对应的PID号为1,init在执行系统中的其他程序时,不断生成新的进程,这些新执行的进程为init进程的子进程,都是基于init进程实现的

Centos7采用的是全新的Systemd启动方式,就是Centos7系统中运行的第一个init进程是/lib/system/system

控制Systemd管理的系统和服务状态,分为七个级别

0 poweroff.targel 关机状态
1 rescue.targel 单用户模式,不需要密码即可登录系统
2 multi-user.targel 多用户模式,默认和3一样
3 muliti-user.targel 多用户模式,字符界面
4 muliti-user.targel 默认和3一样
5 graphical.targel 多用户模式,提供图形界面操作环境
6 reboot.largel 重启

查看切换不同的级别

使用runlevel 命令查看,显示结果若为两个字符分别表示切换前的目标和切换后的目标,若之前未切换过级别,则第一列N,S,1,切换级别使用 init 后接需要的级别

[root@localhost ~]# runlevel
N 5
[root@localhost ~]# init 3
[root@localhost ~]# runlevel
5 3
[root@localhost ~]# init 5
[root@localhost ~]# runlevel
3 5
若查看系统启动时默认运行的target
[root@localhost ~]# systemctl get-default
graphical.target 图形用户界面

[root@localhost ~]# init 0 poweroff //关系系统
[root@localhost ~]# init 6 reboot //重启系统

上述的运行级别切换均为临时切换,若要永久切换运行级别,可通过ln(链接)命令指定当前系统的默认运行级别。

例如:将默认运行级别从multi-user.target切换为graphical.target

[root@localhost ~]# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
[root@localhost ~]# systemctl get-default
graphical.target

-s 表示创建软连接
-f 表示强制覆盖已有的文件

发布了39 篇原创文章 · 获赞 19 · 访问量 2237

猜你喜欢

转载自blog.csdn.net/aaaa_xiebiao/article/details/104618803