排除启动类故障(修复MBR扇区故障、GRUB引导故障、遗忘 root 用户的密码)

修复MBR扇区故障

1、备份MBR 扇区数据到其它磁盘(/dev/sdb1)

先创建新磁盘创建分区
在这里插入图片描述
在这里插入图片描述
格式化更改文件系统类型xfs,然后在根目录下创建一个目录,用于新磁盘挂载。
在这里插入图片描述

mkdir /backup
mount /dev/sdb1 /backup
dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1

在这里插入图片描述
在这里插入图片描述
备份MBR 扇区数据到/dev/sdb1盘中,此时sda盘中的MBR扇区已备份到sdb1的mbr.bak文件中。

dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1  将/dev/sda的512字节发送到/backup/mdr.bak里发一次

在这里插入图片描述

2、模拟破坏MBR引导扇区

dd if=/dev/zero of=/dev/sda bs=512 count=1
dd if=/dev/zero of=/dev/sda bs=512 count=1   用空字符覆盖/dev/sda

重启打开虚拟机
在这里插入图片描述

3.引导界面进入急救模式,从备份文件中恢复MBR 扇区数据

先加载好光盘镜像,重启操作系统,
当出现安装向导界面时,选择“Troubleshooting”选项,
再选择“Rescue a CentOS Linux system”选项,进入急救模式
选择“1”选择 Continue并按 Enter 键继续
再次按 Enter 键后将进入带“sh-4.2#”提示符的 Bash Shell 环境

sh-4.2# mkdir /backupdir
sh-4.2# mount /dev/sdb1 /backupdir 				#挂载带有备份文件的分区
sh-4.2# dd if=/backupdir/mbr.bak of=/dev/sda	#恢复备份数据
sh-4.2# exit									#执行exit命令退出临时Shell 环境,系统将会自动重启

选第三个
在这里插入图片描述
选第二个
在这里插入图片描述
选1
在这里插入图片描述
回车直到sh-4.2#
在这里插入图片描述
创建目录挂载/dev/sdb1再覆盖/dev/sda,exit退出就可以开机了

修复GRUB引导故障

/boot/grub/目录下的包是用于启动菜单的背景图片及样式

/boot/grub2/grub.cfg			    #GRUB配置文件

方法一:手动输入引导命令(笨拙繁琐,不建议使用)

grub> insmod xfs					#加载指定的模块到内核
grub> linux16 /vmlinuz-3.10.0-693.el7.x86_64 root=UUID=8fd74986-      ae66-4ffd-b7d8-a19f2eca7b6f ro rhgb quiet LANG=zh_CN.UTF-8			
grub> initrd16 /initramfs-3.10.0-693.el7.x86_64.img			#镜像系统文件
grub> boot						   	#引导boot

方法二:进入急救模式,恢复GRUB引导程序(与MBR 引导扇区类似)

MBR位于第一块硬盘(/dev/sda)的第一个物理扇区处,总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第447-510字节中。

mkdir /bak
mount /dev/sdb1 /bak
dd if=/dev/sda of=/bak/grub.bak bs=446 count=1

模拟对MRB中的GRUB引导程序的破坏,但并不破坏分区表
dd if=/dev/zero of=/dev/sda bs=446 count=1

引导界面进入急救模式,从备份文件中恢复GRUB引导程序
sh-4.2# mkdir /backupdir
sh-4.2# mount /dev/sdb1 /backupdir 	
sh-4.2# dd if=/backupdir/grub.bak of=/dev/sda	
sh-4.2# exit

方法三:引导界面进入急救模式,重建GRUB菜单配置文件

rm -rf /boot/grub2/grub.cfg

进入急救模式,加载光盘镜像,切换到系统根环境
sh-4.2# chroot /mnt/sysimage

重新将GRUB引导程序安装到第一块硬盘(/dev/sda)的MRB扇区
bash-4.2# grub2-install /dev/sda

重新构建GRUB菜单的配置文件
bash-4.2# grub2-mkconfig -o /boot/grub2/grub.cfg

退出chroot 环境,并重启
bash-4.2# exit
sh-4.2# reboot

先删除/boot/grub2/grub.cfg
在这里插入图片描述
关闭虚拟机打开电源时进入固件
在这里插入图片描述
+号调整位置F10baocun
在这里插入图片描述

在这里插入图片描述
exit退出reboot重启关闭虚拟机再次打开电源时进入固件调整位置,必须如图调整。
在这里插入图片描述

遗忘 root 用户的密码

进入急救模式,加载系统镜像,切换到系统根环境
sh-4.2# chroot /mnt/sysimage

roo重设root用户密码
bash-4.2# passwd root

用打开电源时进入固件的方式,步骤相同。

猜你喜欢

转载自blog.csdn.net/weixin_51616026/article/details/110763194