图文解释Linux引导过程和服务控制,小白也可以秒会!

news/2025/2/23 6:06:11

文章目录

  • 一、Linux操作系统引导过程
    • 1.1 Linux操作系统的分类
    • 1.2 引导过程的总览
    • 1.3 系统进程初始化
    • 1.4 Systemd单元格式
    • 1.5 运行级别所对应的Systemd目标
  • 二、Linux故障问题解决
    • 2.1 修复MBR扇区故障
      • 2.1.1 故障原因
      • 2.1.2 故障现象
      • 2.1.3 解决思路
      • 2.1.4 故障制造及修复
        • MBR扇区破坏
        • MBR扇区修复
      • 2.1.5 MBR故障制造及修复的注意
    • 2.2 修复GRUB引导故障
      • 2.2.1 故障原因
      • 2.2.2 模拟制造故障
      • 2.2.3 故障现象
      • 2.2.4 修复故障
        • 修复故障命令
    • 2.3 遗忘root用户密码
      • 2.3.1 故障原因
      • 2.3.2 故障现象
      • 2.3.3 解决思路
        • 修复命令
  • 三、系统服务控制
    • 3.1 系统服务控制
      • 3.1.1 控制类型
    • 3.2 运行级别
      • 3.2.1 查看运行级别
    • 3.2.2 临时切换运行级别
    • 3.2.3 设置永久运行级别
    • 3.3 优化启动过程
      • 3.3.1 ntsysv工具
        • ntsysv系统服务管理工具
      • 3.3.2 systemctl工具
        • 查看系统服务的启动状态
        • 设置系统服务的启动状态

一、Linux操作系统引导过程

1.1 Linux操作系统的分类

  • 内核
    面向硬件的层面
  • 外壳
    面向用户的层面

1.2 引导过程的总览

在这里插入图片描述

1.3 系统进程初始化

init_11">1.3.1 init进程

  • linux内核加载运行 /sbin/init程序
  • init进程是系统中第一个进程
  • init进程的PID(进程标记)永远都是1

systemd_15">1.3.2 systemd组件

  • systemdlinux操作系统的一种init组件
  • CentOS7中采用全新的System的启动方式,取代传统的sysVinit
  • CentOS7中运行的第一个init进程是 /lib/systemd/system

1.4 Systemd单元格式

单元类型扩展名说明
Service.service描述一个系统服务
Socket.socket描述一个进程通信的套接字
Device.device描述一个内核识别的设备文件
Mount.mount描述一个文件系统的挂载点
Automount.automount描述一个文件系统的自动挂载点
Swap.swap描述一个内核交换设备或交换文件
Path.path描述一个文件系统的文件或目录
Timer.timer描述一个定时器(用于实现cron的调度任务)
Snapshot.snapshot用于保存一个system的的状态
Scope.scope使用systemd的总线接口以编程方式创建外部进程
Slice.slice使用居于Cgroup的一组通过层次组织的管理系统进程
Target.target描述一组systemd的单元

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

运行级别Systemd的target说明
init 0poweroff.target关机状态,使用该级别时将会关闭主机
init 1rescue.target单用户模式,不需要密码验证即可登录系统,多用于系统维护
init 2multi-user.target用户定义/域特别运行级别,默认等同于3
init 3multi-user.target字符界面的完整用户模式,大多数服务器主机运行在此级别
init 4multi-user.target用户定义/域特别运行级别,默认等同于3
init 5graphcal.target图形界面的多用户模式,提供了图形桌面操作系统
init 6reboot.target重新启动,使用该级别时将会重启主机

二、Linux故障问题解决

2.1 修复MBR扇区故障

2.1.1 故障原因

  • 病毒,木马等造成的破坏
  • 不正确的分区操作,磁盘读写误操作

2.1.2 故障现象

  • 找不到引导重新,启动中断
  • 无法加载操作系统,开机后黑屏
    在这里插入图片描述

2.1.3 解决思路

  • 应提前做好备份文件
  • 安装光盘引导进入急救模式
  • 从备份文件中恢复

2.1.4 故障制造及修复

MBR扇区破坏

dd if=/dev/sda of=/data/mbr.bak bs=1024k count=1   ## 备份文件
dd if=/dev/zero of=/dev/sda bs=1024k count=1  ## 破坏已备份的源文件
init 6    ## 重启

MBR扇区修复

mkdir /data1   
mount /dev/sdb1 /data1   ## 制作新的挂载点
dd if=/data1/mbr.bak of=/dev/sda bs=1024k count=1  ## 将备份文件拷到sda中
reboot

2.1.5 MBR故障制造及修复的注意

  • MBR扇区存在于第一块硬盘空间里,因此想要破坏MBR数据,只需要破坏第一块硬盘空间里的数据即可。
  • 对第一块硬盘进行备份时,注意备份磁盘空间不能小于第一块硬盘的空间大小。

2.2 修复GRUB引导故障

2.2.1 故障原因

  • MBR中的GRUB引导程序遭到破坏
  • grub.conf人间丢失,引导配置有误

2.2.2 模拟制造故障

cd /boot/grub2/    ## 进入grub程序
rm -rf grub.cfg      ## 删除grub.cfg 模拟故障
init 6    重启系统

2.2.3 故障现象

系统引导停滞,出现如图情况
在这里插入图片描述

2.2.4 修复故障

  • 尝试手动引导命令
  • 进入急救模式,重写或从备份中恢复grub.cfg
  • 向MBR扇区重建grub程序

修复故障命令

因为硬盘配置的丢失,我们是准备用光盘来代替硬盘备份恢复grub.cfg配置文件,所以在看见上图故障现象时,重新启动并按F2进入模式,选择boot模式,将CD按住“shift+”设置为第一选项,然后按F10保存设置进行如下命令操作。
在这里插入图片描述

chroot /mnt/sysimage/   ## 引导急救模式,加载系统镜像
grub2-install /dev/sda     ## 重新建立加载sda分区
grub2-mkconfig -o /boot/grub2/grub.cfg    ## 重新构建grub菜单配置文件
exit     ## 退出bash环境
reboot     ## 重启

结束后,因为我们上面将CD设为第一选项,这是应使用同样的方式再将硬盘重新设置为第一选项保存即可。

2.3 遗忘root用户密码

2.3.1 故障原因

遗忘root用户的密码

2.3.2 故障现象

  • 无法进行需要的root权限的管路操作
  • 若没有其他可用账号,将无法登录系统

2.3.3 解决思路

进入急救模式,重设密码

修复命令

chroot /mnt/sysimage 
passed root
new:
retry:
exit
reboot

三、系统服务控制

3.1 系统服务控制

  • systemctl 控制类型 服务名称
  • service 服务名称 控制类型
    这两种的效果是一样的,只是在命令的时候先后顺序不同。
    systemctl和service在管理服务时,在 /lib/systemd/system下面要有这个服务。service文件或者在 /etc/init.d/服务的配置文件。

3.1.1 控制类型

控制命令作用
start启动
stop停止
restart重新启动
reload重新加载
status查看服务状态

其中restart和reload的区别在于前者需要先关闭服务再开启服务,中间服务会断开,而后者不会中断服务。

3.2 运行级别

3.2.1 查看运行级别

  • runlevel命令
    只能查看切换运行级别和当前运行级别
  • systemctl工具
    查看默认的运行级别

3.2.2 临时切换运行级别

  • init命令
    init命令参数是运行级别所对应的参数
  • systemctl工具
    命令参数是具体的参数

3.2.3 设置永久运行级别

方式一:

systemctl set-default multi-user.target

方式二:

rm -rf /etc/systemd/system /default.target
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

两条命令的功能相同,都要重启才能生效

另: 查看当前的运行级别

 systemctl get-default

3.3 优化启动过程

3.3.1 ntsysv工具

  • 提供一个交互式、可视化窗口
  • 可以在字符终端运行
  • 便于集中管理多个服务

ntsysv系统服务管理工具

  • ntsysv
  • ntsysv --level 级别列表

3.3.2 systemctl工具

  • 不提供交互式、可视化窗口
  • 管理单个服务效率高

查看系统服务的启动状态

systemctl is-enable 服务名称

设置系统服务的启动状态

systemctl enable/disable 服务名称

http://www.niftyadmin.cn/n/1076381.html

相关文章

Linux进程与任务管理详解

文章目录一、程序与进程1.1 程序和进程的关系1.2 查看进程信息1.2.1 ps命令1.2.2 top命令1.2.3 pgrep命令1.2.4 pstree命令二、进程的操作2.1 进程的启动方式2.1.1 手工启动2.2.2 调度启动(计划任务)2.2 终止进程的运行2.3 查看与恢复进程一、程序与进程…

iOS学习之MVC,MVVM,MVP模式优缺点

为什么要关注架构设计? 因为假如你不关心架构,那么总有一天,需要在同一个庞大的类中调试若干复杂的事情,你会发现在这样的条件下,根本不可能在这个类中快速的找到以及有效的修改任何bug.当然,把这样的一个类…

系统安全与用户

文章目录一、账号安全控制1.1 账号清理1.2 锁定账号文件chattr1.3 密码安全控制1.4 命令历史限制二、su与sudo2.1 su命令2.1.1 su命令的安全隐患2.2 sudo命令三、安全控制3.1 PAM可插拔式认证模块3.1.1 PAM认证原理3.1.2 PAM认证的构成3.1.3 PAM安全认证类型3.2 开关机安全控制…

python os.path

os.path.abspath(path) #返回绝对路径os.path.basename(path) #返回文件名os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径。os.path.dirname(path) #返回文件路径os.path.exists(path) #路径存在则返回True,路径损坏返回Falseos.path…

PATB 1018. 锤子剪刀布

时间限制100 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给…

带你深入理解Linux文件系统与日志分析

文章目录一、inode和block概述1.1 inode1.1.1 inode的理解1.1.2 inode的作用1.1.3 inode包含文件的元信息1.1.4 inode号码1.1.5 inode的大小1.1.6 inode的特殊作用1.1.7 inode节点耗尽的实验1.2 Linux系统文件的三个主要的时间属性1.3 block二、恢复误删除的文件2.1 恢复XFS类型…

自然语言19.1_Lemmatizing with NLTK(单词变体还原)

sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId1005269003&utm_campaigncommission&utm_sourcecp-400000000398149&utm_mediumshare QQ:231469242 欢迎喜欢nltk朋友交流 L…

DHCP配置与原理

文章目录一、DHCP服务概述1.1 使用DHCP的好处1.2 DHCP的分配方式1.3 DHCP可分配的地址信息主要包括1.4 DHCP的租约过程1.4.1 租约过程的步骤二、DHCP服务配置2.1 DHCP服务安装前准备2.2 DHCP配置流程三、DHCP中继3.1 三层交换机直接dhcp分配地址3.1.1 拓扑图3.1.2 要求3.1.3 命…