Linux系统引导过程与服务控制------------ 模拟MBR引导故障、GRUB故障

linux系统的开机引导过程

系统引导

1、开机自检:自检基本的硬盘,找到第一块能够引引导的设备
2、MBR引导:找到硬盘引导分区,读取GRUB信息
3、GRUB菜单设置:读取grub.conf信息,里面包含内核信息,等待时间等
4、加载内核:加载内核和镜像系统
5、init进程初始化:加载初始化进程1**

init 进程

  • Linux系统运行程序时会使用数字进行标记,而“/sbin/init“则是内核加载的第一个程序,因此 init的进程PID号总是为1.
  • init进程运行以后将会陆续执行系统中的其他程序,不断会生成新的子进程,因此 init 进程是不允许被轻易终止的。
inittab配置文件
  • 在 /etc/inittab 文件中只有一条配置记录是有效的,它使用“:”冒号进行分隔
配置记录:id:runlevels:action:process
解释: 标记:运动级别:动作类型:程序或脚本

其中:
id 标记字段 :由1~4个字符组成,用以区别其他行的配置
runlevels 运行级别字段 的分类:
0:关机状态,使用该级别将会关闭主机
1:单用户模式,不需要密码即可登录系统,多用于系统维护
2:字符界面的多用户模式(不支持访问网络)
3:字符界面的完整多用户模式,大多数服务器主机运行在此级别
4:未分配使用
5:图形界面的多用户模式,提供了图形界面操作系统(图形化界面默认级别56:重新启动,使用该级别将会重启主机

action 动作类型字段 :描述了该行所对应的操作类别,initdefault表示 “设置初始化系统后默认进入的运行级别”
process 程序或脚本文件 :指定该行配置所对应的实际操作,可以为命令、脚本程序,此处为空

通过修改 /etc/inittab 文件中的相关记录,可以对linux系统的初始化进行调整
例如:每次开机后以文本模式运行,而不是进入图形化界面
vi /etc/inittab
将“id:5:initdefaut”配置行中的“5”改成“3

MBR扇区故障:

分析故障原因:
是不是病毒,木马造成的破坏;不正常的分区操作以及磁盘的读写操作问题。

故障出现的现象:
找不到引导程序,启动中断,无法加载操作系统,开机后黑屏…

应对思路:
应提前做好备份文件(这很重要,重要的文件一定要备份),以安装光盘引导进入紧急救援模式,重备份文件中恢复。

模拟故障:

思路:
我们先添加一个磁盘,然后将这个磁盘进行挂载,再将我们目标磁盘里的内容导入进这个挂载点内,之后,用其他内容将其目标中的内容进行覆盖,模拟成我们磁盘分区操作有误导致的故障。接着,利用光盘进行数据重写(现实生产环境中,只能利用USB去拷一个一模一样的数据过来进行数据重写了)

开始:****(此操作将在虚拟机中完成)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
无法开机定格在此界面了
在这里插入图片描述

解决:

在这里插入图片描述
如果此处是连接状态的话,之前步骤就直接重启然后狂按F2,启动项界面没出来就不断重启按F2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
按完1继续后,要按回车键的啊,别发呆…

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

修复MBR中GRUB故障

分析故障原因:
MBR中GRUB引导程序遭到破坏;
grub.cfg文件丢失、引导配置有误…

故障现象:
系统引导停滞,显示“grub>"提示符

解决思路:
尝试手动输入引导命令
进入急救模式,重写或者从备份中修复grub.cfg
向MBR扇区中重建grub程序

模拟故障:

思路:
我将故意找到/boot/grub2/grub.cfg 这个启动文件中的配置文件并删除它来模拟开机引导故障,接着我将利用光盘启动项,进入急救模式修复这个grub.cfg配置文件。

开始:****(此操作依旧在虚拟机中完成)
在这里插入图片描述
在这里插入图片描述

解决:

记得虚拟机设置里设备连接状态 点勾已连接,重启,按F2进入启动选项里进行设置。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改root密码

  • 开机之后会进入到引导界面,选择第一行,按 e 进入编辑

在这里插入图片描述

  • 在 linux16 /vmlinuz… 这一行的末尾添加 rd.break 注意前面有个空格,然后按 ctrl + x 继续进入
    在这里插入图片描述
  • 这里是只读的权限,但是需要修改root密码,就必须有读写权限,所以需要重新挂载根为读写权限。mount -o remount,rw /sysroot  (rw是读写权限。rw前面是逗号隔开)
    在这里插入图片描述
  • 挂载完成后,使用 chroot 命令切换到真正的系统根。chroot /sysroot
    在这里插入图片描述
  • 接着就可以修改root密码了。passwd root
    在这里插入图片描述
  • 密码修改完成后,由于selinux开启着的需要执行以下命令更新系统信息,否则重启之后密码不会生效(就算是有原密码也无法登录)。touch /.autorelabel
    在这里插入图片描述
  • 完成后,输入exi退出当前界面。重新将根挂载为只读权限。
    mount -o remount,ro /sysroot

在这里插入图片描述

  • 完成后,输入reboot重启系统,重启过程自动(有时会重启两次),重启完成以后,使用修改后的root密码登录即可
    在这里插入图片描述

—————————————————————————————————————————————

以上是我对linux开机引导过程中发生故障时的个人见解,希望能对看官有所帮助

谢谢浏览,喜欢的点个赞喔~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值