Linux操作系统引导过程及排障

本文详细介绍了Linux操作系统的引导过程,包括BIOS检测、MBR引导、GRUB菜单、内核加载以及init和systemd进程的作用。同时,针对MBR扇区、GRUB引导故障及遗忘root用户密码的排除方法进行了阐述,提供了故障解决的思路和步骤。
摘要由CSDN通过智能技术生成

一、Linux操作系统引导过程

1.1 引导过程

Linux引导过程一般包括以下几个阶段:

  •  开机自检(BIOS):检测出第一个能够引导系统的设备,要不是硬盘,要么是光驱。服务器开机之后,根据主板bios中的位置,对cpu内存、显卡、硬盘等一系列设备进行初步的检测。主要检测设备是否正常运行(指硬盘),系统开始移交控制权,把控制权交给硬盘/sde/sda
  • MBR引导:第一个扇区MBR,引导系统找到boot分区,就找到了系统的启动程序,根据mbr记录,调用启动菜单grub,系统控制权移交给grub。就是引导包含操作系统的引导文件
  • grub菜单(grub:统一启动加载器):获取用户选择的操作系统指定的内核以及镜像文件。多系统的引导程序。控制权到达grub菜单,显示启动菜单给用户选择。选择后(或采用默认值),加载所选的操作系统的Linux内核文件,系统控制权移交内核
  • 加载内核:内核是一个已经编译好的二进制文件,可直接执行。介于硬件资源和系统程序之间,内核的作用就是负责资源的分配、调度,给这些系统程序来进行使用,这个时候,内核文件将控制整个系统的运行过程驱动程序,用户自定义的开机自启动的程序,以及系统启动必要的环境程序,这个时候只是在分配资源,程序还没有运行,提前分配好资源,统统加载到内核中去,移交控制权给系统的初始化程序。就是将驱动程序、系统依赖程序、用户自定义程序调度、分配资源,放到内存中
  • lnit进程初始化:加载到内存中,在内存中开始运行,/sbin/init开启运行上述程序、驱动、用户自定义、系统必要的环境程序,全部启动,等待用户登录

1.2 init进程(CentOS 6)

  • 由Linux内核加载运行/sbin/init程序;

  • init进程是系统中第一个进程,是所有进程的父进程;

  • init进程的PID(进程标记)号永远为1

1.3 systemd进程(CentOS 7)

  • 进化的init初始化程序,并启动,速度快
  • 第一个init是systemd  PID  1 也是所有进程的父进程

特点:

  • 并行处理
  • 支持自动重启服务,确保进程的可靠性和稳定性
  • 动态调整服务参数和资源控制,提高灵活性和可管理性
  • 支持启动依赖关系,确保进程的正确启动和运行
  • 支持命令行,也可支持图形化工具

作用:主要用于管理系统进程的管理器,通过单元[unit]来描述和控制系统进程和资源,通过单元类型来进行控制

1.4  Systemd单元类型

单元类型扩展名说明
Service.service描述一个系统服务
Socket.socket描述一个进程间通信的套接字
Device.device描述一个内核识别的设备文件
Mount.mount描述—个文件系统的挂载点
utomount.automount描述—个文件系统的自动挂载点
Swap.swap描述—个内存交换设备或交换文件
Path.path描述—个文件系统中文件或目录
Timer.time描述—个定时器(用于实现类似cron的调度任务)
Snapshot.snapshot用于保存一个systemd的状态(开机,还是关机,还是挂机)
Scope.scope使用systemd的总线接口以编程的方式创建外部进程(例如光驱、u盘)
Slice.slice描述居于Cgroup的一组通过层次组织的管理系统进程
Target.target描述—组systemd的单元
  •  Service:启动,管理一个系统进程,friewalld、httpd、mysql可以指定进程的启动、关闭、重启、查看状态、依赖环境、日志记录
  • Socket:通信套接字,监听网络套接字,管理网络服务,提供网络接口
  • Target:一组服务的集合,用于描述系统在不同运行级别下的状态

系统的控制命令:systemctl

格式:systemctl  控制类型  进程名称

控制类型:

开启:start

停止:stop

重启:restart(只要修改配置文件必须重启)

重新加载:reload(不能轻易启动,比如数据库)

查看状态:status

1.5运行级别对应的Systemd

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

切换系统级别命令:init

例:init  6  重启

查看当前系统级别:systemctl  get-default  

永久改变系统级别:systemctl  set-default  multi-user.target(3)

二、排除启动类故障

2.1 修复MBR扇区故障

故障原因

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

故障现象

  • 找不到引导程序,启动中断
  • 无法加载操作系统,开机后黑屏

解决思路

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

案例:MBR被删除,导致系统无法启动

1.在设置里设置光盘镜像,加载光盘镜像

 2.MBR在/sda的第一个扇区,所以先创建一个硬盘分区将/sda下MBR备份到新建的分区

  • 创建/sdb/sdb1分区,并进行格式化和挂载

  •  将sda下第一个扇区MBR文件备份到/data

 3.模拟故障,使用空字符将/sda第一个扇区MBR文件填满,reboot进行重启

4.在重启界面下进入急救模式

 

 

2.2 修复GRUB引导故障

故障原因

  • MBR中的GRUB引导程序遭到破坏
  • grub.cfg文件丢失、引导配置有误

故障现象

  • 系统引导停滞,显示“grub>”提示符

解决思路

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

案例:MBR中的GRUB引导程序遭到破坏

1.先模拟故障:将grub.cfg文件删除,并重启 

 2.重启并快速按“esc”键进入急救模式

 

 

 

 2.3 遗忘root用户密码

故障原因

  • 遗忘root用户的密码

故障现象

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

解决思路

  • 进入急救模式,重置密码

 案例1:在普通用户忘记密码无法切入管理员账户

1.首先需要关闭安全机制,重启

 2.重启并快速按“esc”键进入急救模式

 

 

 

 

案例2:当在管理员界面忘记密码

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值