系统排错3:若误删grub引导文件,如何恢复?

系统排错

若误删grub引导文件,如何恢复?

(1)删除grub引导文件但系统并未重启

1).模拟实验环境

[root@localhost ~]# cd /boot/grub2
[root@localhost grub2]# ls
device.map  fonts  grub.cfg  grubenv  i386-pc  locale  themes
[root@localhost grub2]# rm -rf grub.cfg

在这里插入图片描述
2).解决方案:直接恢复引导文件即可

##grub2-mkconfig即为grub.cfg文件的内容

在这里插入图片描述

##恢复文件; > 表示重定向正确输出
[root@localhost grub2]# grub2-mkconfig > /boot/grub2/grub.cfg
[root@localhost grub2]# ls
device.map  fonts  grub.cfg  grubenv  i386-pc  locale  themes

在这里插入图片描述
(2)删除grub引导文件并且系统并已经重启

1).模拟实验环境

[root@localhost grub2]# pwd
/boot/grub2
[root@localhost grub2]# ls
device.map  fonts  grub.cfg  grubenv  i386-pc  locale  themes
##删除grub引导文件
[root@localhost grub2]# rm -rf grub.cfg 
[root@localhost grub2]# ls
device.map  fonts  grubenv  i386-pc  locale  themes

在这里插入图片描述

##查看/boot分区
[root@localhost ~]# df -h

在这里插入图片描述

##重启
[root@localhost grub2]# reboot

2)系统重启后出现以下界面
在这里插入图片描述
3)设定开机引导

1.设置系统分区
  set root=‘hd0,msdos1’ 
2.挂载根设备
  linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/vda1   (可用Tab键补齐)
3.指定初始化镜像
  initrd16 /boot/initramfs-3.10.0-123.el7.x86_64.img   (可用Tab键补齐)
4.boot启动系统

在这里插入图片描述

注意:设定开机引导的命令不唯一,分为以下两种情况

(1)boot分区未被独立出

boot分区未被独立出来:即boot分区在/目录下
第一行:设置系统分区
/dev/vda1   # 第一块虚拟设备,a表示第一块
hd0         #第一块硬盘,0表示第一块;0与a对应
msdos1      #msdos1中的1与/dev/vda1中的1相对应
第二行:linux16  /boot/vmlinuz......(绝对路径)
第三行:Initrd16  /boot/initramfs......(绝对路径)

(2)boot分区被独立出来

第一行 :设置系统分区   (同上)
第二行:linux16  /vmlinuz......
第三行:Initrd16  /initramfs.....

在这里插入图片描述
注意:以上程序只是开机引导,但并未生成文件,所以下次开机还得继续引导
在这里插入图片描述
(4)手动恢复引导文件

##为了避免下次开机再进行引导,故手动恢复引导文件
[root@localhost grub2]# grub2-mkconfig > /boot/grub2/grub.cfg
[root@localhost grub2]# ls
device.map  fonts  grub.cfg  grubenv  i386-pc  locale  themes

在这里插入图片描述

[root@localhost grub2]# reboot

此时系统便恢复正常~
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/lilygg/article/details/84316236