当前位置: 首页 > news >正文

服务器引导异常,Grub报错: error: ../../grub-core/fs/fshelp.c:258:file xxxx.img not found.

服务器引导异常,Grub报错: error: ../../grub-core/fs/fshelp.c:258:file xxxx.img not found.

  • 1. 故障现象
  • 2. 解决思路
  • 3. 故障分析
  • 4. 案件回溯
  • 5. 解决问题

1. 故障现象

有一台服务器业务报无法连接.
尝试用Ping命令发现无法ping通.
通过控制台查看发现有以下报错:

error: ../../grub-core/fs/fshelp.c:258:file xxxx.img not found.

在这里插入图片描述

2. 解决思路

其实到这里问题应该已经可以解决了.
无非就是因某些原因img文件被删除.
现在要做的无非2个事情

  1. 进入系统
  2. 确认除了这个img之外还有哪些文件被删了.
  3. 将被删除的那些文件从别处复制过来.

3. 故障分析

幸运的是,这个服务器有多个kernel.那么就尝试从其他kernel进入.
(如果是唯一的kernel那么也可以使用救援盘进入,但这个是一台云主机,可能会需要通过另外个云主机挂载这个启动镜像,再复制文件.然后根据快照再恢复会比较麻烦,但不复杂)

运行history查看是否是人为的删除,及分析为什么要做这个操作.
这次运气又站在我们这边.
可以明显的看到是人为删除了2个img文件.
为什么说是运气好:

  1. 非病毒或入侵造成的.

  2. 删的是文件而不是/*

  3. 非恶意,根据他的上下文分析,是由于安装配置kdump出现了某些错误,尝试解决那些错误的时候可能搜了某些错误的文档而去删除那2个文件.
    在这里插入图片描述
    在这里插入图片描述

  4. 看下他kdump报了哪些错误

dracut module 'network-legacy' cannot be found or installed

在这里插入图片描述

4. 案件回溯

看到这里基本整个事情的来龙去脉已经分析出来了.
我们来还原一下现场:

  1. 第一个错误也是最根本的错误就是操作人员修改完/etc/default/grub后,在没有确认服务器是否是efi引导的情况下执行了grub2-mkconfig.误以为已经将crashkernel=256M参数正确修改了.其实文件生成,但服务器并不会从该文件进行引导.
  2. 重启后,kdump发现crashkernel没有生效,于是出现了以下的报错.
dracut module 'network-legacy' cannot be found or installed.
Failed to start Crash recovery kernel arming.
dracut module 'rngd' will not be installed, because command 'rngd' could not be found!
dracut module 'network-legacy' will not be installed, because command 'dhclient' could not be found!
dracut module 'ifcfg' will not be installed, because it's in the list to be omitted!
dracut module 'plymouth' will not be installed, because it's in the list to be omitted!
dracut module 'btrfs' will not be installed, because command 'btrfs' could not be found!
racut module 'dmraid' will not be installed, because command 'dmraid' could not be found!
dracut module 'cifs' will not be installed, because command 'mount.cifs' could not be found!
dracut module 'resume' will not be installed, because it's in the list to be omitted!
dracut module 'earlykdump' will not be installed, because it's in the list to be omitted!
  1. 当发现kdump出现大量dracut模块的报错时,犯了第二个错误.开始请求ai的帮助或者通过网络搜索文档尝试解决此问题.于是history里出现了大量apt-get install, yum install明显是已经方寸大乱开始不经过大脑的复制粘贴命令.
  2. 当发现这些命令都无济于事的时候第三个错误出现了,rm -f kernel.img
  3. 最后感觉任然无济于事时第四个错误出现了,reboot.
    此时由于引导的img被删除,服务器就无非完成引导程序了.

5. 解决问题

  1. 从另外一台服务器上将删除的2个文件给恢复过来.
  2. 执行以下命令,生效正确的grub引导
grub2-mkconfig -o /boot/grub2/grub.cfg
  1. 重启服务器服务器
  2. 确认crashkernel参数已经在/boot/grub2/grub.cfg中
    在这里插入图片描述
  3. 查看kdump.service的状态
    在这里插入图片描述
    至此,整个故障已经解决.
    当出现意外时一定不要乱了方寸,虽然现在网络搜索和AI都很方便,但由于环境或者其他原因不要盲目的复制粘贴命令.很有可能会把简单的问题越搞越大.

相关文章:

服务器引导异常,Grub报错: error: ../../grub-core/fs/fshelp.c:258:file xxxx.img not found.

服务器引导异常,Grub报错: error: ../../grub-core/fs/fshelp.c:258:file xxxx.img not found. 1. 故障现象2. 解决思路3. 故障分析4. 案件回溯5. 解决问题 1. 故障现象 有一台服务器业务报无法连接. 尝试用Ping命令发现无法ping通. 通过控制台查看发现有以下报错: error: ..…...

昵称 校验

1. 基本格式校验 1. 长度限制 • 设置最小和最大字符长度&#xff1a;2-20 个字符&#xff08;常见范围&#xff09;。 • 避免昵称过短或过长影响显示和识别。 • 示例&#xff1a; • 2 ≤ 长度 ≤ 20&#xff1a;let minLength 2 let maxLength 20 if nickname.count <…...

MATLAB学习笔记目录

MATLAB学习笔记-生成纯音并保存-CSDN博客 MATLAB学习笔记-各种格式之间的转换 - 知乎 MATLAB学习笔记-胞组&#xff08;cell array&#xff09;转换为矩阵&#xff0c;cell2mat_matlab如何把元胞数组改为矩阵-CSDN博客MATLAB学习笔记-判断数组、结构体、数值、字符串是否相同…...

基于单片机的语音控制玩具汽车的设计

语音控制小汽车选用了两个单片机、一个语音识别芯片、两个无线收发模块、一个电机驱动模块、两个电机、一个音频解码模块。语音控制端选用了一个语音识别芯片&#xff0c;实现了将声音信号转换成数字信号&#xff0c;再将数据传输给单片机的功能。小车端选用了单片机来控制电机…...

Qt WORD/PDF(五)使用Json一键填充Word表格

关于QT Widget 其它文章请点击这里: QT Widget 国际站点 GitHub: https://github.com/chenchuhan 国内站点 Gitee : https://gitee.com/chuck_chee 姊妹篇: 《Qt WORD/PDF&#xff08;一&#xff09;使用 QtPdfium库实现 PDF 操作》 《Qt WORD/PDF&#…...

vue3+ts的几个bug调试

由于编译问题&#xff0c;把几个type检查给关闭了&#xff0c;否则错误太多。 1&#xff09;第一个检查出的问题&#xff0c;拼写错误数组的length&#xff0c;写成了lengh。 2&#xff09;数组的对象引用。 torStatus Array(8).fill({ ...defaultStatus }) as TorStatus[]…...

DVWA靶场CSRF漏洞通关教程及源码审计

目录标题 CSRFlow源码审计 medium源码审计 high源码审计 impossible源码审计 CSRF low 先修改密码 看到地址栏 复制在另一个网页打开 成功登录 源码审计 没有任何过滤措施&#xff0c;很危险&#xff0c;并且采用了不安全的md5加密 <?phpif( isset( $_GET[ Change ] )…...

前端开发:HTML常见标签

1.注释标签 注释不会显示在界面上 . 目的是提高代码的可读性 . ctrl / 快捷键可以快速进行注释 / 取消注释 . <!-- 我是注释 --> 2.标题标签 有六个 , 从 h1 - h6. 数字越大 , 则字体越小 <h1> hello </h1> //我们所写的csdn的格式中的标题一…...

【机器学习】主动学习-增加标签的操作方法-样本池采样(Pool-Based Sampling)

Pool-Based Sampling Pool-based sampling 是一种主动学习&#xff08;Active Learning&#xff09;方法&#xff0c;与流式选择性采样不同&#xff0c;它假设有一个预先定义的未标注样本池&#xff0c;算法从中选择最有价值的样本进行标注&#xff0c;以提升模型的性能。这种…...

【Rust自学】11.9. 单元测试

喜欢的话别忘了点赞、收藏加关注哦&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 11.9.1. 测试的分类 Rust把测试分为两类&#xff0c;一个是单元测试&#xff0c;一个是集成测试。 单元测试比较小也比较专注&#xff…...

深入理解Web存储机制:Cookie、SessionStorage与LocalStorage的区别

文章目录 前言一、Cookie简介二、SessionStorage简介三、LocalStorage简介四、三者之间的比较五、最佳实践建议结语 前言 随着Web应用程序变得越来越复杂&#xff0c;开发者需要更有效的办法来管理客户端数据。Cookie、SessionStorage和LocalStorage是三种常用的Web存储机制&a…...

SpringBoot之BeanDefinitionLoader类源码学习

该类的作用 Spring 框架中用于加载和解析 Bean 定义的工具类。它主要用于从不同的资源&#xff08;如 XML 文件、注解、Java 配置类等&#xff09;中读取 Bean 定义&#xff0c;并将这些定义注册到 Spring 的 BeanFactory 或 ApplicationContext 中 基本属性 //指定的资源pri…...

【芯片封测学习专栏 -- 2D | 2.5D | 3D 封装的区别和联系】

请阅读【嵌入式开发学习必备专栏 Cache | MMU | AMBA BUS | CoreSight | Trace32 | CoreLink | ARM GCC | CSH】 文章目录 Overview线键合&#xff08;wire-bonding&#xff09;封装FOWLP2D封装2.5D 封装硅通孔(TSV)硅中介层无TSV的2.5D 3D封装 Overview 我们先要了解一下&…...

从硬件设备看Linux

一、介绍 DM3730通过各种连接方式连接了各种设备&#xff0c;输入输出设备根据不同的类型大体可 以分为电源管理、用户输人、显示输出、图像采集、存储以及无线设备等。我们可以将DM 3730与这些设备的数据接口分为总线和单一的数据接口总线。总线的显著特点是单个总线上可以连…...

open3d+opencv实现矩形框裁剪点云操作(C++)

&#x1f451;主页&#xff1a;吾名招财 &#x1f453;简介&#xff1a;工科学硕&#xff0c;研究方向机器视觉&#xff0c;爱好较广泛… ​&#x1f4ab;签名&#xff1a;面朝大海&#xff0c;春暖花开&#xff01; open3dopencv实现矩形框裁剪点云操作&#xff08;C&#xff…...

git 本地操作

一、git.vscode 撤回本地提交 要在Git中撤销本地的最后一次提交&#xff0c;可以使用以下命令&#xff1a; git reset --soft HEAD^ 这将会撤销最后一次的提交&#xff0c;但是保留工作区以及暂存区的内容&#xff0c;方便重新提交。 如果你想完全撤销最后一次提交&#xf…...

PL/SQL语言的文件操作

PL/SQL语言的文件操作 PL/SQL&#xff08;Procedural Language/SQL&#xff09;是Oracle公司开发的一种过程化扩展SQL的语言&#xff0c;广泛应用于Oracle数据库的开发和管理。PL/SQL不仅支持SQL指令&#xff0c;还支持过程化编程&#xff0c;例如条件控制、循环控制、异常处理…...

linux lsof 和 fuser命令介绍

lsof 和 fuser 是两个在 Linux 系统中用于查看文件占用情况的重要工具。它们都可以用于查看哪些进程正在使用某些文件、设备或端口。下面是这两个命令的介绍、举例和背景。 lsof (List Open Files) 命令介绍: lsof 命令用于列出当前系统中所有打开的文件以及与之相关的进程。它…...

[Python学习日记-76] 网络编程中的 socket 开发 —— 介绍、工作流程、socket 模块用法和函数介绍

[Python学习日记-76] 网络编程中的 socket 开发 —— 介绍、工作流程、socket 模块用法和函数介绍 简介 socket 介绍 socket 的工作流程及用法 简介 前面在[Python学习日记-75] 计算机基础与网络当中介绍了一大堆基础知识之后我们终于开始进入到网络编程的开发阶段了&#x…...

vue(七) vue进阶

目录 第一课&#xff1a;Vue方法、计算机属性及侦听器 一、数组变化侦测 方法1&#xff1a;变更方法 方法2&#xff1a;替换一个数组 例子&#xff1a;小Demo:合并两个数组 二、计算属性 1.基础&#xff08;不推荐&#xff09; 2.使用计算属性来完成案例 3.使用函数的方…...

3分钟掌握抖音智能批量下载:全流程自动化解决方案

3分钟掌握抖音智能批量下载&#xff1a;全流程自动化解决方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. …...

DataSphere Studio:企业级数据开发平台的7大核心优势与完整使用指南

DataSphere Studio&#xff1a;企业级数据开发平台的7大核心优势与完整使用指南 【免费下载链接】DataSphereStudio WeBankFinTech/DataSphereStudio: 是腾讯金融科技的一个数据开发平台&#xff0c;具有强大的数据处理&#xff0c;分析&#xff0c;可视化和机器学习功能&#…...

hello-uniapp技术债务管理:平衡开发速度与代码质量的终极指南 [特殊字符]

hello-uniapp技术债务管理&#xff1a;平衡开发速度与代码质量的终极指南 &#x1f680; 【免费下载链接】hello-uniapp uni-app框架演示示例 项目地址: https://gitcode.com/gh_mirrors/he/hello-uniapp 在快速发展的移动应用开发领域&#xff0c;hello-uniapp作为uni-…...

Poppler for Windows:让PDF处理不再成为开发瓶颈

Poppler for Windows&#xff1a;让PDF处理不再成为开发瓶颈 【免费下载链接】poppler-windows Download Poppler binaries packaged for Windows with dependencies 项目地址: https://gitcode.com/gh_mirrors/po/poppler-windows 你是否曾因PDF处理功能的复杂配置而推…...

一些常见颜色汇总

1 1.1 CVPR2024&#xff1a;Koala序号示例RGBHEX1(244, 204, 204)#F4CCCC2(207, 226, 243)#CFE2F33(252, 229, 205)#FCE5CD序号示例RGBHEX1(217,217,217)#D9D9D92(252,229,205)#FCE5CD 2 2.1 AAAI2025:Stable Mean Teacher for Semi-supervised Video Action Detection序号示例…...

M2LOrder模型生成Typora风格技术博客:Markdown排版与内容组织

M2LOrder模型生成Typora风格技术博客&#xff1a;Markdown排版与内容组织 不知道你有没有过这样的经历&#xff1a;脑子里有一堆技术想法&#xff0c;打开文档准备写篇博客分享&#xff0c;结果光是调整标题层级、插入代码块、排版表格就耗掉了大半热情。最后内容虽然不错&…...

Embedded Coder实战:5分钟搞定PID控制器的C代码生成(附完整配置流程)

Embedded Coder实战&#xff1a;5分钟搞定PID控制器的C代码生成&#xff08;附完整配置流程&#xff09; 在工业自动化领域&#xff0c;PID控制器就像一位不知疲倦的调节大师&#xff0c;默默维持着无数设备的稳定运行。想象一下&#xff0c;当你需要将这套经典算法部署到资源有…...

万字长文带你深入Redis底层数据结构

在技术领域&#xff0c;我们常常被那些闪耀的、可见的成果所吸引。今天&#xff0c;这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力&#xff0c;让我们得以一窥未来的轮廓。然而&#xff0c;作为在企业一线构建、部署和维护复杂系统的实践者&#xff0c;我们深知…...

PHP中HTML标签过滤的5种有效方法

什么是XSS攻击&#xff1f; XSS&#xff08;Cross-Site Scripting&#xff09;攻击是指攻击者在网页中插入恶意脚本&#xff0c;当其他用户浏览该页面时&#xff0c;恶意脚本会被执行&#xff0c;从而盗取用户信息、会话令牌或进行其他恶意操作。 方法一&#xff1a;htmlspeci…...

别再折腾Docker了!用CasaOS在Ubuntu上5分钟搞定个人轻NAS(附国内源配置)

别再折腾Docker了&#xff01;用CasaOS在Ubuntu上5分钟搞定个人轻NAS&#xff08;附国内源配置&#xff09; 你是否曾经被Docker复杂的配置流程劝退&#xff1f;或者对传统NAS系统如TrueNAS的庞大资源占用感到头疼&#xff1f;如果你手头有一台闲置的旧电脑或树莓派&#xff0c…...