一、CentOS 6 与 CentOS 7开机流程
1.CentOS 6
1.1.打开电源首先通过内核引导开机。
1.2.开机自检,加载 BIOS 硬件信息。
1.3.MBR 记录一般是在磁盘0磁道0扇区,共512个字节。前446个字节是 BootLoder。计算机不知道我们的系统在哪里,所以需要程序进行引导,这个引导的程序就叫BootLoder。
1.4.GRUB菜单引导,选择系统。
1.5.加载内核,将菜单中选择的内核加载到内存中,启动系统。
1.6.启动系统中第一个 init 进程。(父进程)
1.7.读取 init 程序的配置文件(/etc/inittab)。
1.8.初始化系执行 /etc/rc.d/rc.sysinit 程序,设置IP地址、主机名、开机自动挂载等。
1.9.根据运行级别串行启动服务。
1.10.运行 mingetty ,显示登录界面。
2.CentOS 7
1.1.加载内核之前部分与 CentOS 6 大致相同
1.2.启动系统父进程 systemd
1.3.读取运行级别 /etc/systemd/system/default.target
1.4.初始化系统 /usr/lib/systemd/system
1.5.运行 /usr/lib/systemd/system/getty.target加载 login 界面
3.启动流程区别
Centos7和Centos7开启流程差不多,只是启动的父进程与加载的文件不同。
二、运行级别
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 | 重启 |
相关命令
#查看当前运行级别
~]# systemctl get-default
#修改系统下次启动时的运行级别
~]# systemctl set-default multi-user.target
三、systemd 使用方法
~]# systemctl disabled httpd.service 取消开机自启
~]# systemctl enable httpd.service 开机自启服务
~]# systemctl restart httpd.service 重启服务
~]# systemctl status httpd.service 查看服务状态
~]# systemctl start httpd.service 启动服务
~]# systemctl stop httpd.service 关闭服务
四、服务状态
状态 | 描述 |
loaded | 服务单元的配置文件已经被处理 |
active(running) | 服务持续运行 |
active(exited) | 服务成功完成一次的配置 |
active(waiting) | 服务已经运行但在等待某个事件 |
inactive | 服务没有在运行 |
enabled | 服务设定为开机自启动 |
disabled | 服务设定为开机不启动 |
static | 服务开机不启动,但可以被其他服务调用启动 |
五、单用户模式
PS:超级权限且必须面对实体硬件,不支持远程操作
忘记 root 密码进入单用户模式修改 root 密码
重启系统并出现引导界面时,按照提示按"e"键进入内核编辑模式
找到 linux16 的行,默认为 ro 系统只读,我们需要将权限修改为 rw 读写
随后在UTF-8 后加 enforcieng=0 init=/bin/bash,按下ctrl+x来运行修改过的内核程序
修改密码后重新加载系统