开机启动流程
Posted Greenxu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开机启动流程相关的知识,希望对你有一定的参考价值。
开机启动流程
Centos6
1.内核引导
- Bios加电自检,检测主板上的硬件设备,然后根据BIOS设置启动系统(进系统之前的管理界面)
- 读取/boot分区下,所有内核文件
2.运行init 所有进程的父进程 pid为1,只有init运行起来,其他进程才能运行起来。 init类型
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配置文件 如下图
3.系统初始化
## 根据运行级别中设置了开机自启动服务来启动对应服务
C6 查看开机自启动服务来启动对应服务
[root@localhost ~]# chkconfig --list
C7 查看开机自启动服务来启动对应服务
方式一:#systemctl list-unit-files
方式二:# ll /etc/systemd/system/multi-user.target.wants/
运行级别为3时,开机默认启动的服务。如下图
Centos7
1.系统固件初始化
- BIOS加电自检,检测主板上的硬件设备(显卡、内存、磁盘),根据BIOS设置查找启动介质(磁盘、U盘等),启动系统。
- 读取/boot分区下,
2.MBR ( Master Boot Record 主引导记录)。 3.GRUB2 Bootloader(引导菜单)加载grub2菜单,选择要进入的系统 4.Kernel(内核引导) 读取/boot目录下所有内核文件 5.Systemd管理运行级别(不再使用init,改成了systemd)
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 退出编辑界面
4、修改密码
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
这两种用法只可单独写,不可混合写。
以上是关于开机启动流程的主要内容,如果未能解决你的问题,请参考以下文章