root密码忘记 重设 ,修复 MBR 扇区 ,修复GRUB 引导

 系统救援

  1 破解root 密码

  2 MBR 扇区修复

  3 GRUB 修复

 

系统救援实验

1 破解root 密码

如果遗忘root 用户的密码,将无法进行root权限的管理操作,如果没有其他可用账号,将无法登陆系统

进入急救模式,重设密码

重启电源,在加载读条时,按Esc键进入救援模式,然后加载系统镜像,切换系统根环境,再重设root密码

(1) Boot  Menu 界面,按 ↑ ↓ 键 选择CD-ROM Drvice

 

(2)选择Troubleshoing  检修模式

 

(3) 选择Rescue a CentOS system

 

(4) 选择1  Continue

 

(5)切换根环境为挂载的镜像 chroot  /mnt/sysimage

 

(6) 重设root 密码 passwd root  。然后设置新密码。退出

 

2 修复MBR 扇区(第一块硬盘的第一个扇区)故障

当出现此故障,计算机会找不到引导程序,启动中断,无法加载操作系统,开机后黑屏

解决:

提前做好备份文件

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

从备份文件中恢复

 

(1) 备份MBR 扇区的数据

[root@localhost /]# mkdir /backup
[root@localhost /]# mount /dev/sdb /backup/      #将 硬盘 /dev/sdb 挂载到/backup 目录  ( /dev/sda 已经格式完成)
[root@localhost /]# cd /backup/

[root@localhost backup]# dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1     #将/dev/sda 里数据导出 512 字节 到 /backup/mbr.bak 文件
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.000116527 秒,4.4 MB/秒
[root@localhost backup]# ls
mbr.bak

 

 

(2)破坏MBR 扇区

[root@localhost backup]# dd if=/dev/zero of=/dev/sda bs=512 count=1      #向/dev/sda 硬盘导入512 字节数据。破坏MBR扇区
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.000112532 秒,4.5 MB/秒

[root@localhost backup]# init 6       #重启

 

(3) 救援 。

重启会直接进入此页面,此时,选择 Troubleshooting 

 

按照上一个进入救援模式的方法(详见 root 密码部分)

再选择"Rescue a Centos Linux system"选项,进入急救模式
选择"1" Continue并按Enter键继续
再次按Enter键后将进入带"sh-4.2#"提示符的Bash Shell环境
 
 
导入备份的MBR扇区数据
mkdir /backupdir                               #创建挂载点目录  
mount /dev/sdb /backupdir             #挂载之前备份数据的硬盘   
dd if=/backupdir/mbr.bak  of=/dev/sda  bs=512 count=1        #将备份的数据导入/dev/sda 硬盘,导入512 字节
exit                     #退出

 

3 修复GRUB 引导故障(MBR扇区的前 446 个字节)

当MBR 中的GRUB 引导程序遭到破坏或者 grub.cfg 文件丢失,引导配置有误, 会导致系统引导停滞,显示" grub>" 提示符

 

解决:

进入急救模式,重写或者从备份中恢复grub.cfg (在 /boot/grub2/grub.cfg)

向MBR 扇区中重建grub 程序

(1) 备份grub数据

[root@localhost ~]# mkdir /bak
[root@localhost ~]# mount /dev/sdb /bak 
[root@localhost ~]# dd if=/dev/sda of=/bak/grub.bak bs=446 count=1   #导出grub 数据(位于mbr扇区的前446 字节)
记录了1+0 的读入 记录了1+0 的写出 446字节(446 B)已复制,0.000416157 秒,1.1 MB/秒

 

(2) 破坏 grub

[root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=446 count=1     #破坏grub 数据,但是不破坏分区表数据
记录了1+0 的读入
记录了1+0 的写出
446字节(446 B)已复制,0.000143564 秒,3.1 MB/秒

  [root@localhost ~]# init 6

 

(3) 救援

先进入救援模式(详见 root 部分)

chroot /mnt/sysimage     #切换根环境

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

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

exit       #退出根环境

reboot   #重启

 退出根环境,在exit 或者 reboot 

 

posted @ 2021-06-24 08:52  知己一语  阅读(243)  评论(0编辑  收藏  举报