目录
修复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
用打开电源时进入固件的方式,步骤相同。