若误删grub引导文件,如何恢复?
(1)删除grub引导文件但系统并未重启
1).模拟实验环境
[root@localhost ~]# cd /boot/grub2[root@localhost grub2]# lsdevice.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-514.el7.x86_64 ro root=/dev/sda3 (可用Tab键补齐) 3.指定初始化镜像 initrd16 /boot/initramfs-3.10.0-514.el7.x86_64.img (可用Tab键补齐) 4.boot启动系统
注意:设定开机引导的命令不唯一,分为以下两种情况
(1)boot分区被独立出第一行:设置系统分区/dev/sda1 # 第一块虚拟设备,a表示第一块hd0 #第一块硬盘,0表示第一块;0与a对应msdos1#msdos1中的1与/dev/sda1中的1相对应第二行:linux16 /vmlinuz......(绝对路径)第三行:Initrd16 /initramfs......(绝对路径)(2)boot分区未被独立出来boot分区未被独立出来:即boot分区在/目录下第一行 :设置系统分区 (同上)第二行:linux16 /boot /vmlinuz......第三行:Initrd16 /boot/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
reboot