内容预知
1.修复MBR扇区的故障
故障可能出现的原因:
- 病毒、木马的等造成的破坏;
- 不正确的分区操作、磁盘读写误操作等。
故障会出现的现象:
- 找不到引导程序,启动中断;
- 无法加载操作系统,开机后黑屏。
解决思路:
- 提前添加一块新硬盘;
- 提前做好备份文件(将MBR扇区备份到另一块硬盘上);
- 以安装光盘引导进入急救模式;
- 从备份文件中恢复
1.1实验前的准备
准备一块新硬盘,并进创建空文件夹挂载。
mkdir /ambr
mkfs.xfs /dev/sdb
mount /dev/sdb /ambr
1.2 实验操作过程
1.2.1查看 /dev/sda 中的mbr 并备份到 新盘/dev/sdb 中
hexdump -C -n 512 /dev/sda
[root@localhost ~]#dd if=/dev/sda of=/ambr/mbr.bak bs=512 count=1
1.2.2查看 新盘/dev/sdb 中 备份的扇区
1.2.3 破坏/dev/sda 中的扇区,模拟扇区被破坏
1.2.4 重启检查是否能够正常运行
1.2.5 开始修复,以截图展示修复过程
1.
2.
3.
4.
mkdir /backup
mount /dev/sdb /backup
dd if=/backup/mbr.bak of=/dev/sda bs=512 count=1
5.重启
2.修复GRUB引导故障
故障原因:
- MBR中的GRUB引导程序遭到破坏
- grub.cfg 文件丢失、引导配置有误
故障现象:
- 系统引导停滞,显示“grup>” 提示符
解决思路:
- 尝试手动输入引导命令(笨拙繁琐,不建议使用)
- 提前备份文件,恢复MBR扇区中的grub引导程序
- 进入急救模式,安装grub文件
实验一:提前备份文件,恢复MBR扇区中的grub引导程序
该操作与上一个实验修复mbr 完全一致,只是修复grub需要了解,grub是mbr的前446字节的引导程序,所以再用dd if 命令是将bs 赋值为446字节即可。介于操作完全相同,不再显示具体过程,参照mbr修复实验即可
实验二: 进入急救模式,重写或者安装中恢复grub
破坏后grub后发现重启已经死机,此时再次重启
调整为光盘启动
在根环境重新安装grub引导程序
chroot /mnt/sysimage 进入根环境
grub2-install /dev/sda 安装grub引导程序到/dev/sda
exit 退出根环境
#重新构建GRUB菜单的配置文件
#根环境下 grub2-mkconfig -o /boot/grub2/grub.cfg
修复成功:
3.root密码忘记的修改方式
故障原因:
- 遗忘root用户的密码
故障现象:
- 无法进行需要root权限的管理操作;
- 若没有其他可用账号,将无法登陆操作系统。
修改密码的方法(如果是真实环境,得在服务器上操作):
1.光盘启动,进入急救模式,借助根环境修改
2.单用户模式进入,修改root密码
实验一:光盘启动,进行修改
重新启动,选择光盘启动:
在根环境下进行密码修改
chroot /mnt/sysimage //进入急救模式后,切换到光驱系统的根环境
passwd //修改密码
验证:
输入新密码,可以正常登录了
实验二:单用户模式进入,修改root密码
进入系统环境,修改密码 (注意:如果SELinux是启用的,才需要执行下面操作,如果没有启动,不需要执行 touch /.autorelabe)
mount –o remount,rw /sysroot
chroot /sysroot
passwd root
#如果SELinux是启用的,才需要执行下面操作,如果没有启动,不需要执行
touch /.autorelabel
exit
reboot
总结
1.本文主要讲述了mbr分区的修复,grub引导程序的修复,以及找回修改root密码。
2.mbr分区和grub引导程序这样关系到服务器是否能够正常运行的重要程序,建议备份