修复GRUB引导故障
一.修复GRUB引导故障
1. 故障原因
-
MBR中的GRUB弓|导程序遭到破坏
-
grub.conf文件丢失、引导配置有误
2. 故障现象
- 系统引导停滞,显示“grub>" 提示符
3. 解决思路
-
尝试手动输入引导命令
-
进入急救模式,重写或者从备份中恢复grub.conf
-
向MBR扇区中重建grub程序
4.修复GRUB引导故障
/boot/grub/目录下的包是用于启动菜单的背景图片及样式
/boot/grub2/grub. cfg #GRUB配置文件
二.修复GRUB引导故障方法1
——方法一:手动输入引导命令(笨拙繁琐,不建议使用)
grub> insmod xfs #加载指定的模块到内核
grub> linux16 /vmlinuz-3.10.0-693.e17.x86_ 64 root=UUID=8 fd74986-ae66-4ffd-b7d8-al9f2eca7b6f ro rhgb quiet
LANG=zh_ CN. UTF-8 #内核的名字及位置等信息
grub> initrd16 /initramfs-3.10.0-693.e17.x86_ 64. ing #镜像系统文件
grub> boot #引导boot
三.修复GRUB引导故障方法2
——方法二:进入急救模式,恢复GRUB引导程序
——主引导程序记录被破坏
MBR位于第一 块硬盘( /dev/sda) 的第一 个物理扇区处,总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第447-510字节中。
1.创建磁盘,格式化,挂载,备份文件
①:新建一块磁盘:fdisk -l
②:fdisk /dev/sdb ### 创建磁盘
n--------P---------…------w
③:mkfs.xfs /dev/sdb1 ### 格式化磁盘
④:mkdir /bak ### 创建bak目录
⑤:mount /dev/sdb1 /bak ###挂载目录到磁盘上
⑥:dd if =/dev/sda of=/bak/grub.bak bs=446 count=1 ###备份
硬盘中取文件,446字节,提取1次,导入目录中的磁盘上
⑦:cd /bak ---------ls --------ll ####查看文件是否保存完好
2.模拟对MBR中的GRUB引导程序的破坏,不破坏分区表
①:dd if =dev/zero of=/dev/sda bs=446 count=1
空字符文件取出,446字节,提取1次
②:init 6 ### 重启
3.引导界面进入急救模式,从备份文件中恢复GRUB引导程序
①:选择“Trouble shooting"
②:选择”Rescue a CentOS Linux system"
③:输入“1”continue Enter
④:进入“sh-4.2#"
sh-4.2# mkdir /backupdir ###创建目录
sh-4.2# mount /dev/sdb1 /backupdir ### 挂载带有备份文件的分区
sh-4.2# dd if =/backupdir/grup.bak of=/dev/sda ###恢复备份数据
sh-4.2# exit ### 退出
四.方法二具体实验步骤:
1.创建磁盘,格式化,挂载,备份文件
①:新建一块磁盘:fdisk -l
②:fdisk /dev/sdb ### 创建磁盘
③:mkfs.xfs /dev/sdb1 ### 格式化磁盘
④:mkdir /bak ### 创建bak目录
⑤:mount /dev/sdb1 /bak ###挂载目录到磁盘上
⑥:dd if =/dev/sda of=/bak/grub.bak bs=446 count=1 ###备份
⑦:cd /bak ---------ls --------ll ####查看文件是否保存完好
2.模拟对MBR中的GRUB引导程序的破坏,不破坏分区表
①:dd if =dev/zero of=/dev/sda bs=446 count=1
空字符文件取出,446字节,提取1次
②:init 6 ### 重启
3.引导界面进入急救模式,从备份文件中恢复GRUB引导程序
①:选择“Trouble shooting"
②:选择”Rescue a CentOS Linux system"
③:输入“1”continue Enter
④:进入“sh-4.2#"
sh-4.2# mkdir /backupdir ###创建目录
sh-4.2# mount /dev/sdb1 /backupdir ### 挂载带有备份文件的分区
sh-4.2# dd if =/backupdir/grup.bak of=/dev/sda ###恢复备份数据
sh-4.2# exit ### 退出
重启后,
恢复正常
五.引导界面进入急救模式,方法3
重建GRUB菜单配置文件
————配置文件丢失、删除
①:cd grub2
cp grub.cfg/opt/ ###备份文件
②:rm -rf /boot/grub2/grub.cfg ###删除grub2文件
③:init 6### 重启
④:点击重启,读条完成前按下ESC,选择CD-ROM Drive
⑤:“trouble shooting"-------"1"continue ---------“sh-4.2#”
###进入急救模式,加载光盘镜像,切换到系统根环境:
sh-4.2# chroot /mnt/sysimage
###重新将GRUB引导程序安装到第一块硬盘(dev/sda)的MBR扇区
bash -4.2# grub2 -install /dev/sda
重新构建GRUB菜单的配置文件
bash-4.2# grub2 -mkconfig -o /bootgrub2/grub.cfg
退出chroot环境,并重启
bash -4.2# exit
sh -4.2# reboot
六.引导界面进入急救模式,方法3实验步骤
重建GRUB菜单配置文件实验
①:cd grub2
cp grub.cfg/opt/ ###备份文件
②:rm -rf /boot/grub2/grub.cfg ###删除grub2文件
③:init 6### 重启
④:点击重启,读条完成前按下ESC,选择CD-ROM Drive
⑤:“trouble shooting"-------"1"continue ---------“sh-4.2#”
###进入急救模式,加载光盘镜像,切换到系统根环境:
sh-4.2# chroot /mnt/sysimage
###重新将GRUB引导程序安装到第一块硬盘(dev/sda)的MBR扇区
bash -4.2# grub2 -install /dev/sda
重新构建GRUB菜单的配置文件
bash-4.2# grub2 -mkconfig -o /bootgrub2/grub.cfg
退出chroot环境,并重启
bash -4.2# exit
sh -4.2# reboot
重启后:
恢复正常:
来源:oschina
链接:https://my.oschina.net/u/4381476/blog/4950009