Linux---引导过程和服务控制
Linux—引导过程和服务控制
一.引导过程
1.引导过程总览:
开机自检----MBR引导----GRUB菜单----加载Linux内核----init进程初始化
2.init进程:
由Linux内核加载运行 /sbin/init程序
是系统中第一个进程
PID(进程标记)号永远为1
3.运行级别所对应的Systemd目标
0:关机状态,使用该级别时将会关闭主机,对应systemd中的target
1:单用户模式,不需要密码验证即可登录系统,多用于系统维护,对应的systemd中的rescue.target
2:用户定义/域特定运行级别,默认等同于3,对应的systemd中的multi-user.target
3:字符界面的完整多用户模式,大多数服务器主机运行此级别,对应的systemd中的multi-user.target
4:用户定义/域特定运行级别,默认等同于3,对应的systemd中的multi-user.target
5:图形界面的多用户模式,提供了图形桌面操作环境,对应的systemd中的graphical.target
6:重新启动,使用该级别时将会重启系统,对应的systemd中的reboot.target
二.排除启动故障
1.MBR扇区故障
故障原因:
1.病毒、木马等造成的破环
2.不正确的分区操作、磁盘读写误操作
故障现象:
1.找不到引导程序,启动中断
2.无法加载操作系统,开机后黑屏
解决思路:
1.应提前做好备份文件
2.以安装光盘引导进入急救模式
步骤:
1.备份mbr扇区数据
1)加一块硬盘做备份
分区----格式化-----挂载
2)dd if=/dev/sda of=/abc/sda.mbr.bak bs=512 count=1
2.模拟故障
dd if=/dev/zero of=/dev/sda bs=512 count=1
3.加载系统镜像文件中的急救模式
加载系统镜像文件中的内核界面
4.把备份数据做恢复处理
mkdir /aaa
mount /dev/sdb1 /aaa
dd if=/aaa/sda.mbr.bak of=/dev/sda bs=512 count=1
实验:
1.加备份盘:
2.做备份
3.模拟故障
4.进入急救模式:
5.把备份数据恢复处理:
2.修复GRUB引导故障
故障原因:
1.MBR中的GRUB引导程序遭到破坏
2.grub.conf文件丢失、引导配置有误
故障现象:
系统引导停滞,显示“grub>”提示符
解决思路:
1.尝试手动输入引导命令
2.进入急救模式,重写或者从备份中恢复grub.conf
3.向MBR扇区中重建grub程序
步骤:
1.使用系统急救模式进入命令符界面
2.加载镜像中的系统进入bash环境
chroot /mnt/sysimage
3.重新构建grub菜单系统
grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg
exit
reboot
实验:
1.先模拟实验环境,使用rm - rf grub.cfg
2 ,进入bash环境:
3.重建分区和构建grub菜单系统
3.遗忘root用户密码
故障原因:
遗忘root用户密码
故障现象:
无法进行需要root权限的管理操作
若无其他可用账号,将无法登录系统
解决思路:
进入急救模式,重设密码
步骤:
1.加载镜像系统
chroot /mnt/sysimage
2.直接改密码
passwd root
输入密码
三.服务控制
1.系统服务控制
常用方式:
systemctl 控制类型 服务名称
控制类型:
start:启动
stop:停止
restart:重新启动
reload:重新加载
status:查看服务状态
restart会中断服务,先stop再start,reload不会(更加安全)
2.运行级别
查看级别:
runlevel命令
systemctl工具
临时切换运行级别:
init命令
systemctl工具
3.优化启动过程
ntsysv工具:
提供一个交互式,可视化窗口
可以再字符终端运行
便于集中管理多个服务
systemctl工具:
不提供交互式,可视化窗口
管理单个服务效率更高
4.系统的启动和控制
设置系统服务的启动状态:
systemctl enable/disable 服务名称 开机自启服务
查看系统服务的启动状态:
systemctl is-enabled 服务名称 检测服务的状态
查看服务端口是否开启:
netstat -natp | grep 服务名称