Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

这篇具有很好参考价值的文章主要介绍了Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、背景

一台运行在Esxi上面的VM重启后报initramfs-xxx.img not found错误。

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

按任意键后出现以下错误。

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

之前在运维Centos7的时候解决过Kernel panic - not syncing : VFS: Unable to mount root fs on unknown-block(0.0)错误,以为按照之前的解决方案,重启服务器,按Esc进入选择内核的界面,选择中间的内核启动服务器就能解决问题(默认是选择最上面的内核),没想到还是同样报initramfs-xxx.img not found错误。

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

然后尝试选择第三个内核,错误依旧。然后在内核选择页面按e尝试进入Centos7安全模式,定位到ro 然后修改ro为rw,并添加sysroot=/bin/sh命令,按Ctrl+x命令进入安全模式,发现错误还是依旧。

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

2、解决方案

在解决initramfs-xxx.img not found错误前,需要先了解下initramfs作用。

2.1 initramfs模块作用

在Linux系统启动过程中,initramfs(Initial RAM File System)是一种临时的根文件系统,用于在系统初始化期间挂载根文件系统之前进行各种初始化操作。initramfs可以包含必需的驱动程序、二进制文件和脚本等,以便在系统引导期间使用。

在Linux系统引导时,initramfs模块会被加载到内存中,其中包含了必要的文件和驱动程序,用于在启动阶段执行各种任务,例如检查文件系统、加载模块、识别和挂载根文件系统等。此外,initramfs模块还可以用于进行故障排除和修复系统错误,例如恢复损坏的文件系统等。

总的来说,initramfs模块在Linux系统的引导过程中起着非常重要的作用,它提供了一个轻量级的临时文件系统,使得在系统初始化阶段执行各种任务更加灵活、高效和可靠。

2.2 数据备份(可选)

在尝试解决此错误前,为了保险起见,可以先备份当前VM数据(相当于创建了一个和报错VM相同数据的VM)。

1)、数据盘新建目录用于备份报错VM

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

 2)、将报错VM的vmx、vmdk文件拷贝到新建目录下

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

 3)、右键点击test115目录下的monitor115.vmx进行虚拟机注册,然后等待拷贝任务完成,即可备份出一个一模一样的VM。

注意 1:数据备份不是必选的,monitro115这台VM是测试机器,没有要求修复完成时间,因此留出时间进行数据备份,以防误操导致机器彻底启动不来。

注意 2:等待拷贝任务需要等待很长时间(monitor115这个VM是200G的SATA盘,拷贝用了将近4个小时),如果服务器急需修复,请选择其他方式进行VM的备份。

 2.3 解决报错

1)、修改VM配置,使得下次虚拟机启动时,强制进入BIOS设置界面

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

 2)、使用CD光盘驱动启动VM

打开VM电源,进行BIOS界面,切到开机项(Boot),将光盘驱动(CD-ROM Drive)调整到硬盘驱动(Hard Drive)上面即可,然后F10保存,退出BIOS设置。

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

 3)、选择“Troubleshooting”疑难杂症

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

4)、进入救援模式

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

如果以上操作正确,便可进入救援模式。

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

输入1即可进入救援模式。

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

5)、 救援环境尝试挂载linux根文件系统到/mnt/sysimage

根据上图提示,执行chroot /mnt/sysimage命令,切换至根目录模式,确认initramfs-*.img文件是否存在。

bash-4.2#chroot /mnt/sysimage
bash-4.2#cd /boot
bash-4.2#ls 

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

 6)、执行mount命令,将光驱重新挂载至/mnt目录,然后切换至系统软件包所在目录,列出kernel相关软件包。

bash-4.2#mount /dev/cdrom /mnt/

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

 7)、执行rpm命令强制安装kernel软件包
rpm -ivh kernel-3.10.0-693.e17.x86_64.rpm  --force --nodeps

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理 

8)、kernel软件包重装完成后,查看/boot目录下是否有新的initramfs文件生成。

Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

9)、重启主机,操作系统恢复正常。
bash-4.2#exit
bash-4.2#init 6

注意:不要忘了再把bios启动顺序再调整回去,优先加载硬盘。

参考:http://www.360doc.com/content/22/1020/09/79641151_1052432906.shtml

参考:https://www.cnblogs.com/Julien1021/p/16341423.html

参考:https://blog.csdn.net/weixin_43279032/article/details/120322514文章来源地址https://www.toymoban.com/news/detail-419356.html

到了这里,关于Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • centos中的swap.img可以删除吗

    `swap.img` 是 CentOS 系统中的交换分区文件,用于辅助内存管理。交换分区在系统内存不足时用于存储不常用的数据,而不是直接写入硬盘。一般情况下,不建议删除交换分区文件,因为它对系统的正常运行非常重要。 如果您真的希望删除交换分区文件,以下是一些步骤和注意

    2024年02月13日
    浏览(27)
  • python遇到AttributeError: module ‘XXX‘ has no attribute ‘XXX‘的错误,解决办法

    错误原因: 主要的原因看可能有3个: 1、检查一下有没有拼错函数,有时候写的快了真的有可能手误; 2、如果没拼错那就检测一下该模块的函数是否是更新了,因为python的第三方库是时常会更新的,有时候函数名会有轻微的变动这也很正常,解决方法就是查看一下对应版本

    2024年04月12日
    浏览(28)
  • Android中使用switch-case遇到case R.id.xxx报错

    一、问题描述           二、解决办法         在gradle.properties中加上下面四行代码:         然后点击Sync Now 三、问题解决         

    2024年04月11日
    浏览(24)
  • centos7中设置端口放行(centos7防火墙配置端口放行)

    说明:执行之后一定要执行第四步命令:firewall-cmd --reload    

    2024年02月06日
    浏览(38)
  • 基于x86架构的CentOS7虚拟机通过qemu安装ARM架构CentOS7虚拟机_centos7 arm 网络配置

    【原文连接】基于x86架构的CentOS7虚拟机通过qemu安装ARM架构CentOS7虚拟机_centos7 arm_redrose2100的博客-CSDN博客 试过很多版本的在win10系统直接qemu安装arm版linux都失败了,也看到了别人也说这个方式不行得用虚拟机套虚拟机才行的方式,因为我没有ubunto所以搜到大佬的centos虚拟机套

    2024年02月09日
    浏览(49)
  • CentOS7(Linux)详细安装教程(手把手图文详解版)_centos7安装教程

    3、选择合适版本的镜像进行下载 选择合适的存放地址(这里的地址包含中文名称我用起来好像也没出啥问题,如果怕出错的同学可以使用全英文) 1、打开我们的虚拟机(VMware Workstation),点击文件进行新建 2、选择典型之后,下一步 3、选择稍会安装操作系统 4、因为安装的

    2024年04月29日
    浏览(38)
  • centos8与centos7对比

    ♥️ 作者:小刘在C站 ♥️ 个人主页: 小刘主页 ♥️ 每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️ 夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真情 前言 所有的努力和收获是成正比的,好

    2023年04月09日
    浏览(33)
  • 如何在kernel启动后,加载initramfs

    在Linux系统中,Initramfs是一个根文件系统的临时文件系统,它在内核启动时加载到内存中,以便提供足够的基本功能来进行系统初始化和准备真实的根文件系统。如果你想在内核启动后使用initramfs,可以按照以下步骤: 创建initramfs 首先,你需要创建一个包含必要文件和工具的

    2023年04月19日
    浏览(17)
  • Ubuntu 开机显示 initramfs 进不了系统

    通常出现进入initramfs,是因为关机不当导致磁盘文件受损还是什么引起的,所以:我们要把主分区修复 下面出现的所有需要按y的地方均按按键y,直至出现initramfs 之后在initramfs后面输入 exit ,即退出initramfs;之后等待就可以正常打开ubuntu 个人纪录:

    2024年02月15日
    浏览(26)
  • CentOS系统环境搭建(一)——Centos7更新

    执行后,系统将更新到centos 7.9。 从这一篇文章开始开始,我将开始在centos系统环境搭建🔗https://blog.csdn.net/weixin_43982359/category_12411496.html中开始对CentOS系统环境搭建进行连载,包括但不限于如下:更新内核,同步网络时间,安装Java,安装maven,安装docker,安装Docker Compose,安

    2024年02月12日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包