引导过程与服务控制
引导过程总览
开机自检(BIOS)----MBR引导----GRUB菜单----加载内核----init进程初始化
BIOS:集成在主板中的一个小程序,主要用来检测硬件是否有问题
MBR:处于第一个扇区,共512字节,前446字节是引导程序,后64字节是分区表
GRUB:GRUB引导程序通过读取GRUB配置文件/biit/grub2/grub.cfg来获取内核和镜像文件系统的位置和路径位置
加载内核:将内核与镜像文件系统加载到内存中(操作系统,调度硬件)
init进程初始化:加载硬件驱动程序,内核把init进程加载到内存中运行
系统初始化进程
init进程:
1.由Linux内核加载运行/sbin/init程序
2.init是系统中第一个进程
3.init进程的PID(进程标记)号永远为1
systemd:
1.systemd是Linux操作系统的一种init软件
2.centos7采用全新的systemd启动方式,取代传统的sys Vinit
3.centos7中运行的第一个init进程是/lib/systemd/systemd
systemd单元类型:
运行级别所对应的systemd目标:
修复MBR扇区故障
故障原因:
1.病毒,木马等造成的损坏
2.不正确的分区操作,磁盘读写误操作
故障现象:
1.找不到引导程序,启动中断
2.无法加载操作系统,开机后黑屏
解决思路:
1.应提前做好备份文件
2.以安装光盘引导进入急救模式
3.从备份文件中恢复
模拟破坏
如何进入急救模式:
在登录系统读条时,按ESC键进入
进入急救模式
1.MBR中的GRUB引导程序遭到破坏
2.grub.conf文件丢失、引导配置有误
系统引导停滞,显示‘grub>’提示符
1.尝试手动输入引导命令
2. 进入急救模式,重写或者从备份中恢复grub.conf
3.向MBR扇区中重建grub程序
模拟破坏grub引导程序
进入急救模式重写grub配置文件
遗忘root用户密码
故障原因:
遗忘root用户密码
故障现象:
1.无法进行需要root权限的管理操作
2.若无其他可用账号,将无法登录系统
解决思路:
进入急救模式,重设密码
系统服务控制
命令格式:
systemctl 控制类型 服务名称
控制类型
start:启动
stop:停止
restart:重新启动
reload:重新加载
status:查看服务状态
示例:
Linux系统运行级别
查看运行级别
1.runlevel命令 runlevel只能查看切换运行级别与当前运行级别
2.systemctl工具 systemctl只能查看默认的运行级别
建议使用init
对应运行级别
临时切换运行级别
1.init命令 init的命令参数是运行级别所对应的数字
2.systemctl工具 systemctl的命令参数是具体的target
建议使用init
设置永久运行级别
1.创建软连接:
ln -sf /lib/ systemd/ system/multi-user.target /etc/ systemd/ system/default.target
2.直接修改:
systemctl set-default graphical.target
优化启动过程
1.ntsysv工具
作用:
1.提供一个交互式、可视化窗口
2.可以在字符终端运行
3.便于集中管理多个服务
4.用于控制服务是否开机自启动
空格键:选择或取消选择
TAB键:切换
2.systemctl工具
作用:
1.不提供交互式,可视化窗口
2.管理单个服务效率更高
systemctl工具
1.查看系统服务的启动状态
systemctl is-enabled 服务名称
2.设置系统服务的启动状态
systemctl enable 服务名称(开启开机自启动)
systemctl disable 服务名称(关闭开机自启动)
chkconfig工具
命令格式:
chkconfig --list 服务名称
chkconfig --add 服务名称
chkconfig --level 级别老班 服务名称 on/off(开启或关闭)