修复CentOS丢失grubx64.efi文件

栏目: 服务器 · 发布时间: 5年前

内容简介:修复 Failed to open \efi\centos\grubx64.efi - not found错误信息进入

修复 Failed to open \efi\centos\grubx64.efi - not found

最近由于一台Liunx服务器突然断电,导致Centos系统再开机时报错如下图:

修复CentOS丢失grubx64.efi文件

错误信息 Failed to open \efi\centos\grubx64.efi - not found

1、进入急救模式

大致就是因为开机时系统没有找到 grubx64.efi 这个文件导致系统进不去了。于是开始进行系统修复(主要就是把丢失的这个文件给放到原来的位置上去),我在网上找了很多文章,大致都是需要使用 Centos系统安装盘光驱 或者 Centos的U盘启动盘 在选择安装系统的界面如下图:

修复CentOS丢失grubx64.efi文件 修复CentOS丢失grubx64.efi文件

进入 rescue system ,然后将 /mnt/sysimage 文件夹下面的 grubx64.efi 文件复制到丢失文件目录 /boot/efi/EFI/centos/ 下。

可能有些电脑在 bios 里面无法找到U盘启动选项,这些需要去找主板对应的bios设置进行设置,具体要看自己的电脑主板是什么品牌和型号就不在这里细说了(网上都能找到这些设置)。

在进入 rescue system 时,也有可能会报 modprobe:ERROR: could not insert 'floppy'modprobe:ERROR: could not insert 'edd':No

修复CentOS丢失grubx64.efi文件

然后后面会打印200个脚本执行超时,并最终进入 >dracut:/# ,这时候是因为进入 rescue system 选择设置中的 stage2=xxxx 路径不正确导致的,所以这个时候进入 >dracut:/# 后,执行:

# 查看/dev下面的硬盘和外部驱动器
ls /dev

一般U盘会是 sdbx (x是数字)或者 sdc 这样的挂载路径,找到插入的U盘是哪一个,然后重启电脑,再次进入选择 rescue system 的页面

修复CentOS丢失grubx64.efi文件

选择 Rescue a CentOS system ,然后按 e 进入它的引导配置编辑页面,然后修改配置中的 stage2=hd:LABEL=CentOS\xxxxstage2=hd:/dev/sdbx (sdbx为前面找到的U盘路径),然后按 control + x 运行,这时候就能正常进入 rescue system 了。

修复CentOS丢失grubx64.efi文件

然后这个时候进入 /mnt/sysimage 文件夹下面,将 grubx64.efi 文件复制到丢失文件目录 /boot/efi/EFI/centos/ 下重启即可。但是我却发现这个目录下面根本没有丢失那个文件,并且我在根目录下使用 find . -name '*.efi' 进行全局查找,其它目录下也没有丢失的这个文件,既然现在找不到这个文件,那就只能从外部把这个文件放进去了。

我在制作完成CentOS启动盘后,我的U盘中是有这个CentOS需要的系统文件的,那么我可以将的U盘挂载进去,就能拿到我的这个文件了。

2、挂载U盘

  • 查看磁盘列表

fdisk -l

找到U盘的盘符,U盘容量固定8G、16G、或者32G、64G的,而且一般都是 sdbx 或者 sdc 这类名称,所以比较好找。

  • 查看挂载列表

df -h

这个时候会发现CentOS并没有将U盘挂载上去。

  • 挂载U盘

# 创建挂载的文件夹
mdkri /mnt/usb
# 将U盘挂载到文件夹下面
mount /dev/sdbx /mnt/usb

这个时候会发现CentOS的启动盘U盘无法进行挂载,估计可能是因为之前做了启动盘的原因,无法再次挂载,然后我使用了另外一个U盘,将U盘也格式化为FAT32格式,并将grubx64.efi放进去,然后进行挂载,结果发现挂载成功之后,里面并没有grubx.efi文件,而只有一个found+local的文件夹,里面也是空空如也,并且卸载这个U盘挂载 umount \mnt\usb 再插入windos电脑显示无法读取,只能进行格式化才行。可见这样进行挂载之后U盘的文件系统被破坏了,里面的文件也丢失了,这之后我还尝试过挂载另外的Liunx硬盘,依然是失败的。

3、最终解决办法

其实很简单,将CentOS的启动U盘拔出来,这时候运行命令

fdisk -l

可以发现启动盘还在,这是因为启动盘在启动了之后其实已经复制内容到系统中了,并虚拟了一个盘符进行挂载,这个时候的盘符跟插在电脑上的启动U盘已经没有什么关系了,并且因为这种启动U盘的特性,在启动之后并不能再看到真实的U盘盘符,所以把U盘拔掉再重新插上去即可。

再次插上去之后,会发现有一个名为 sdc 文件系统为FAT32(其它的类型U盘文件系统可能不一样)的盘符,我们直接使用命令将这个盘符挂载上去即可

mount /dev/sdc /mnt/usb

这个时候进入 /mnt/usb 目录就能访问U盘中的文件了。

然后执行copy命令

# 将U盘中的grubx64.efi文件复制到/boot/efi/EFI/centos/目录中
cp /mnt/usb/EFI/BOOT/ /boot/efi/EFI/centos/grubx64.efi

卸载U盘

umount /mnt/usb

然后拔出U盘,重启电脑将bios中的启动项改回电脑的系统硬盘就能进入系统了。如果还有其它的文件丢失的话,也可以使用同样的方式将文件放入到丢失的位置上去。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法新解

算法新解

刘新宇 / 人民邮电出版社 / 2016-12-1 / CNY 99.00

本书分4 部分,同时用函数式和传统方法介绍主要的基本算法和数据结构。数据结构部分包括二叉树、红黑树、AVL 树、Trie、Patricia、后缀树、B 树、二叉堆、二项式堆、斐波那契堆、配对堆、队列、序列等;基本算法部分包括各种排序算法、序列搜索算法、字符串匹配算法(KMP 等)、深度优先与广度优先搜索算法、贪心算法以及动态规划。 本书适合软件开发人员、编程和算法爱好者,以及高校学生阅读参考......一起来看看 《算法新解》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

html转js在线工具
html转js在线工具

html转js在线工具