Linux:系统启动引导过程与服务控制

一、Linux操作系统引导过程

1.1 引导过程总览

在这里插入图片描述
1、开机自检:服务器主机开机以后,将根据主板BIOS中的设置对CPU、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多时候会移交给本机硬盘。
2、MBR引导:当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR(主引导记录)的设置,将系统控制权传递给包含操作系统引导文件的分区,或者直接根据MBR记录中的引导信息调用引导菜单(如GURB)。
3、GRUB菜单:对于Linux操作系统来说,GURB(统一启动加器)是使用最为广泛的多系统引导器程序。系统控制权传递给GURB以后,将会显示启动菜单给用户选择,并根据所选项(或采用默认值) 加载Linux内核文件,然后将系统控制权转交给内核。
4、加载内核:Linux内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度,内核接过系统控制权以后,将完全控整个Linx操作系统的运行过程。
5、init进程初始化:为了完成进一步的系统引导过程,Linux内核首先将系统中的"/sbin/init"程序加载到内存中运行(运行中的程序称为进程),init进程负责完成整个系统的初始化,最后等待用户进行登录。

引导过程说明
开机自检(BIOS)检查硬件设备,检测出第一个能够引导系统的设备,比如硬盘或者光驱
MBR引导运行放在MBR扇区里的启动GURB引导文件
GRUB菜单GRUB引导程序通过读取GRUB配置文件/boot/grub2/grub.cfg,来获取内核和镜像文件系统的设置和路径位置,并屏幕显示grub菜单
加载内核把内核和镜像文件系统加载到内存中
init进程初始化加载硬件驱动程序,内核把init进程加载到内存中运行

二、排除启动类故障

2.1 系统初始化进程

在这里插入图片描述
在这里插入图片描述

2.2 Systemd 单元类型

在这里插入图片描述

2.3 运行级别所对应的 Systemd目标

在这里插入图片描述

在这里插入图片描述

2.4 修复MBR扇区故障

  • 故障原因
    1、病毒、木马等造成的破坏
    2、不正确的分区操作、磁盘读写误操作
  • 故障现象
    1、找不到引导程序,启动中断
    2、无法加载操作系统,开机后黑屏
  • 解决思路
    1、应提前作好备份文件
    2、以安装光盘引导进入急救模式
    3、从备份文件中恢复
  • MBR位于第一块硬盘 (/dev/sda) 的第一个物理扇区处,总共512字节
    1.备份MBR 扇区数据到其它磁盘 (/dev/sdb1)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    2.模拟破坏MBR引导扇区
    在这里插入图片描述
    重启系统崩溃,重新插入光盘,选择Troubleshooting
    在这里插入图片描述
    选择Rescue a CentOS system
    在这里插入图片描述
    按1,再按两次Enter进入急救模式
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

2.5 修复GRUB引导故障

  • 故障原因
    1、MBR中的GRUB引导程序遭到破坏
    2、grub.cfg文件丢失、引导配置有误
  • 故障现象
    1、系统引导停滞,显示“grub>”提示符
  • 解决思路
    1、尝试手动输入引导命令
    2、进入急救模式,重写或者从备份中恢复grub.conf
    3、向 MBR 扇区中重建grub程序
    一、尝试手动输入引导命令(不建议使用,太过繁琐,无法复制,只可手敲)
    在这里插入图片描述
    内核的名字及位置等信息
    在这里插入图片描述
    镜像文件
    在这里插入图片描述
    第一步:insmod xfs
    第二部:输入内核的名字及位置等信息
    第三步:输入镜像文件
    第四步:boot
    二、进入急救模式,重写或者从备份中恢复grub.conf(方法与修复扇区一致,只不过MBR位于第一块硬盘(/dev/sda)的第一个物理扇区处,总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第447-510字节中。)
    三、向 MBR 扇区中重建grub程序
    在这里插入图片描述
    在这里插入图片描述
    选择CD-ROM Drive,进入急救模式

在这里插入图片描述
exit退出系统根环境,reboot重启。
在这里插入图片描述
文件已经重新出现。

  • 遗忘 root 用户的密码
    1、进入急救模式
    2、passwd root (改密码不显示)

在这里插入图片描述

三、服务控制及切换运行级别

3.1 系统服务控制

systemctl 控制类型 服务名称
命令说明
start开始
stop停止
restart重新启动
reload重新载入
status查看服务状态

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.2 ntsvsv系统服务管理工具

ntsysv
ntsysv --level 级别列表
  • 按空格键标志服务选项
  • 按↑、↓键切换服务选项
  • 按tab键切换光标

在这里插入图片描述

四、优化启动过程

  • ntsvsv 工具
    1、提供一个交互式、可视化窗口
    2、可以在字符终端运行
    3、便于集中管理多个服务
    4、用于控制服务是否开机

  • systemctl/ chkconfig工具
    1、不提供交互式、可视化窗口
    2、管理单个服务效率更高

  • 第一步:在/etc/init.d/当中建立一个脚本(vim firewall),

  • 第二步:加入这个脚本(chkconfig - - add firewall),

  • 第三步:更改是否开机自启(chkconfig - - level [1~5] firewall [on,off])

  • 第四步:执行此命令(chkconfig - - list firewall)
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

chkconfig - - add 脚本名 #加入脚本#

脚本有固定格式,所以没有加入成功
在这里插入图片描述

在这里插入图片描述

  • Linux系统的运行级别
    1、runlevel命令:runievel只能查看切换运行级别与当前运行级别
    2、systemctl工具:systemctl时能查看默认的运行级别(默认运行级别在/etc/systemd/system/目录中
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 临时切换运行级别
    1、 init命令:init的命令参数是运行级别所对应的数字
    2、svstemctl工具:systemctl的命令参数是具体的target

  • 设置永久运行级别
    在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值