人生难得几回搏,此时不搏待何时。这篇文章主要讲述开机启动流程相关的知识,希望能为你提供帮助。
开机启动流程Centos61.内核引导
- Bios加电自检,检测主板上的硬件设备,然后根据BIOS设置启动系统(进系统之前的管理界面)
- 读取/boot分区下,所有内核文件
init: sysV:CentOS5之前使用的pid为1的进程
Upstart:CentOS6使用的init进程
Systemd:CentOS7
## 加载init,涉及到Linux系统中7个运行级别
# 查看Linux系统当前的运行级别
[root@localhost ~]# runlevel
N(上一次没有) 3
[root@xtt boot]# init 5 切换运行级别
[root@xtt boot]# runlevel
3 5
0:关机运行级别
1:单用户运行级别
2:多用户运行级别,没有文件系统
3:多用户运行级别,有文件系统(命令行模式)(我们现在使用的)
4:CentOS6和7 保留,未使用
5:多用户,图形化运行级别
6:重启运行级别
# 运行init,首先会读取 /etc/inittab配置文件
# 读取配置文件中的默认运行级别
## 获取当前系统的运行级别
C6是
id:3:initdefault:
C7是
[root@xtt boot]# systemctl get-default
multi-user.target
切换运行级别
systemctl set-default TARGET.target
TARGET:
multi-user
graphical
启动init进程。
/etc/inittab配置文件 如下图
## 根据运行级别中设置了开机自启动服务来启动对应服务
C6 查看开机自启动服务来启动对应服务
[root@localhost ~]# chkconfig --list
C7 查看开机自启动服务来启动对应服务
方式一:#systemctl list-unit-files
方式二:# ll /etc/systemd/system/multi-user.target.wants/
运行级别为3时,开机默认启动的服务。如下图
【开机启动流程】
Centos71.系统固件初始化
- BIOS加电自检,检测主板上的硬件设备(显卡、内存、磁盘),根据BIOS设置查找启动介质(磁盘、U盘等),启动系统。
- 读取/boot分区下,
runlevel0.target -> poweroff.target
runlevel1.target -> rescue.target
runlevel2.target -> multi-user.target
runlevel3.target -> multi-user.target
runlevel4.target -> multi-user.target
runlevel5.target -> graphical.target
runlevel6.target -> reboot.target
#2.3.4是同一个级别
根据不同的级别启动开机自启动服务
创建服务开机自启动命令
systemctl enabled nginx
取消服务开机自启动命令
systemctl disable nginx
6.Runlevel-Target
Centos-7 单用户模式的用法解决忘记root密码
1、关机2、开机3、进入gurb2菜单
1、在linux16行中 将ro改成rw (将/目录改成可读可写状态)
2、在linux16行末写入: seliux=disabled init=/bin/bash 如下图
#如果第一步忘记 则在进入系统后,在命令行输入
mount -o rw,remount /
3、按ctrl + x 退出编辑界面
echo 1 |passwd --stdin root
## 重新加载init
exec /sbin/init
修改默认运行级别
1.关机 2.进入grub2菜单 3.按e编辑grub2菜单的内核参数
1、在linux16行中 将ro改成rw (将/目录改成可读可写状态)
2、在linux16行末写入: rd.break 如下图
3、修改后,按Ctrl + x
1.重新挂载root权限目录 mount -o rw,remount /sysroot
2.获取root权限 chroot /sysroot
3.修改默认运行级别 systemctl set-default multi-user.target
4.退出 exit # 5.重启 reboot
推荐阅读
- Sublime 添加∕删除右键菜单.bat
- 实战案例(Redis集群动态缩容)
- k8s service到pod映射在iptable中的规则细节
- JavaScript进阶必会的手写功能
- Selenium3自动化测试38单元测试Pytest
- 为什么是TypeScript( 入门篇)
- MySQL中2种方法限制查询超时时间
- 服务器数据恢复意外断电导致FreeNAS中UFS2文件系统故障的数据恢复案例
- 代码审计VauditDemo程序到exp编写_巡安似海