修复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中的启动项改回电脑的系统硬盘就能进入系统了。如果还有其它的文件丢失的话,也可以使用同样的方式将文件放入到丢失的位置上去。


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

查看所有标签

猜你喜欢:

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

Data Structures and Algorithm Analysis in Java

Data Structures and Algorithm Analysis in Java

Mark A. Weiss / Pearson / 2011-11-18 / GBP 129.99

Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course wa......一起来看看 《Data Structures and Algorithm Analysis in Java》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具