服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Centos - Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理

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

2023-05-09 08:03未知服务器之家 Centos

1、背景 一台运行在Esxi上面的VM重启后报initramfs-xxx.img not found错误。 按任意键后出现以下错误。 之前在运维Centos7的时候解决过Kernel panic - not syncing : VFS: Unable to mount root fs on unknown-block(0.0)错误,以为按照之前的解决方案,重启服务

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

延伸 · 阅读

精彩推荐