排除启动类故障----三大实验

发布时间:2024年01月04日

目录

一、模拟破坏mbr和分区表然后修复

二、修复grub引导故障

三、遗忘root用户密码


一、模拟破坏mbr和分区表然后修复

1、mbr处于第一块磁盘的第一个物理扇区,总共512个字节,前446个字节是grub程序,后面64个字节是分区表

2、故障原因:

木马病毒等造成的破坏

不正常的分区操作,磁盘读写操作失误等

3、故障现象:

找不到引导程序,启动终端

无法加载操作系统,开机后黑屏

4、解决思路:

①添加一块新磁盘作为备份

②提前做好备份文件

③以安装光盘引导进入急救模式

④从备份文件中恢复

5、实验步骤

第一步先添加一块磁盘,然后对其进行分区、格式化、挂载

这里需要注意要创建一个测试文件夹

备份mbr扇区数据到其他磁盘

模拟破损的mbr引导扇区

 
dd if=/dev/zero of=/dev/sda bs=512 count=1
#从/dev/zero复制512字节文件代替磁盘sda的MBR数据
 
可以用
hexdump -C -n 512 /dev/sda
#查看sda硬盘的前512字节,发现已经被破坏了

引导界面进入急救模式,回复mbr扇区数据

重启之后就无法正常进入系统,然后依次选择321选项

  • 当出现安装向导界面时,选择"Troubleshooting"选项,
  • 选择"Rescue a CentOS Linux system" 选项,进入急救模式
  • 选择“1”选择Continue并按Enter 键继续
  • 再次按Enter键后将进入带“sh-4.2#"提示符的Bash Shell环境

创建tests目录用于挂载/dev/sdb1,然后将之前备份的文件将数据回复到sda中

然后就可以正常启动了。

二、修复grub引导故障

1、故障原因:

①mbr中的grub引导程序(1-446)字节遭到破坏

②grub.cfg文件丢失,引导配置有误,文件位置/boot/grub2/grup.cfg

2、故障现象:

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

3、解决思路:

①尝试手动输入引导命令修复

②进入急救模式,重写或者从备份中恢复grub.cfg

③急救模式向mbr扇区中重建grub程序

实验:

1、在页面中的grub >后面输入下列引导命令即可(在输入中不可复制,内核信息要在故障之前保存下来输入才可,此种方法耗费时间,笨拙繁琐,不建议使用)

2、进入急救模式,恢复grub引导程序

#创建新目录用以挂载备份磁盘,备份GRUB引导程序
mkdir /bak
mount /dev/sdb1 /bak/
dd if=/dev/sda of=/bak/grup.bak bs=446 count=1
 
#模拟对MBR中的GRUB引导程序的破坏,但不破坏分区表
 dd if=/dev/zero of=/dev/sda bs=446 count=1
 
#引导界面进入急救模式,从备份文件中恢复GRUB引导程序
sh-4.2# mkdir /data
sh-4.2# mount /dev/sdb1  /data/
sh-4.2# dd if=/data/grup.bak of=/dev/sda bs=446 count=1
sh-4.2# exit

3、引导界面进入急救模式,重建grub菜单配置文件

#删除配置文件,模拟GRUB故障
rm -rf /boot/grub2/grub.cfg    
 
#重启
reboot

进入急救模式加载光盘镜像,切换到系统根目录

进入急救模式的办法

在页面加载时按esc键,进入boot menu,然后选择cd-rom drive?

然后跟实验一相同进入后依次选择321

重启后打开上一个界面然后选择hard drive即可

三、遗忘root用户密码

1、故障原因:

遗忘root用户的密码

2、故障现象:

无法进行需要root权限的管理操作

若没有其他可用账号,将无法登录操作系统

3、解决思路:

进入急救模式重新设置密码即可

实验:遗忘root用户密码并重新设置密码的过程

重启虚拟机在刷新前按esc进入急救模式

进入之后重复之前的操作321的顺序进入页面

然后开机自启就🆗了

文章来源:https://blog.csdn.net/rmh0713/article/details/135387830
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。