开机启动流程

人生难得几回搏,此时不搏待何时。这篇文章主要讲述开机启动流程相关的知识,希望能为你提供帮助。


开机启动流程Centos61.内核引导

  • 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时,开机默认启动的服务。如下图

【开机启动流程】
Centos71.系统固件初始化
  • 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

这两种用法只可单独写,不可混合写。

    推荐阅读