linux操作系统在删除/boot/目录后,会在启动过程停止在黑白屏幕上,并显示grub rescue>提示符和提示信息为:
error: file 'grub/i386-pc/normal.mod' not found Entering rescue mode. . . grub rescue>
一、环境
1.红帽企业版Linux 7(RedHat Enterprise Linux 7)和CentOS 7
2.yum源
3.非UEFI引导启动的Linux系统
二、解决方案
(一)救援模式
1.启动项
将操作系统光盘放入光驱,修改服务器的启动项,设置为从光驱启动。
2.选择救援模式
重启服务器后,进入系统光盘引导目录。选择”Rescue a Red Hat Enterprise Linux system”进入救援模式。
选择”continue”选项,系统挂载在/mnt/sysimage下。
3.切换root权限
如果要到root环境下,运行chroot /mnt/sysimage命令
# chroot /mnt/sysimage
(二)配置yum
1.挂载镜像
将镜像挂载到准备好的目录下,例如/mnt。
# mount /dev/sr0 /mnt
显示挂载后的文件系统信息
# df -hT
2.创建repo文件
在/etc/yum.repos.d/目录下创建repo文件,配置yum。
# vi /etc/yum.repos.d/dvd.repo
#添加如下内容
[rhel-dvd] name=rhel-dvd baseurl=file:///mnt/ enabled=1 gpgcheck=0
(三)修复引导
1.创建目录结构
# mkdir /boot/grub2
2.复制i386-pc
# cp -r /usr/lib/grub/i386-pc/ /boot/grub2/
3.重新安装内核软件包。
# yum remove kernel-*
#yum install kernel-*
注意:预计有grubby fatal error: unable to find a suitable template在此阶段可以忽略,因为/boot没有/boot/grub2/grub.cfg尚未可用。
4.安装grub2软件
# yum reinstall $(rpm -qa | grep grub)
5.重新生成grub配置
# grub2-mkconfig -o /boot/grub2/grub.cfg
6.在新创建的分区上重新安装grub引导程序
# grub2-install /dev/sda
7.重启
# exit # reboot
三、总结
按照如上步骤应该可以重新创建/boot中的内容并启动操作系统,但是如果您有备份/boot那么我们强烈建议从备份中恢复它。另外,此文章不适用UEFI引导启动的操作系统。
原创文章,作者:运维侠,如若转载,请注明出处:https://www.yunweixia.com/solutions/linux-boot-directory-deleted-recovery-guide.html