Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理
1、背景
一台运行在Esxi上面的VM重启后报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错误。
然后尝试选择第三个内核,错误依旧。然后在内核选择页面按e尝试进入Centos7安全模式,定位到ro 然后修改ro为rw,并添加sysroot=/bin/sh命令,按Ctrl+x命令进入安全模式,发现错误还是依旧。
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
2)、将报错VM的vmx、vmdk文件拷贝到新建目录下
3)、右键点击test115目录下的monitor115.vmx进行虚拟机注册,然后等待拷贝任务完成,即可备份出一个一模一样的VM。
注意 1:数据备份不是必选的,monitro115这台VM是测试机器,没有要求修复完成时间,因此留出时间进行数据备份,以防误操导致机器彻底启动不来。
注意 2:等待拷贝任务需要等待很长时间(monitor115这个VM是200G的SATA盘,拷贝用了将近4个小时),如果服务器急需修复,请选择其他方式进行VM的备份。
2.3 解决报错
1)、修改VM配置,使得下次虚拟机启动时,强制进入BIOS设置界面
2)、使用CD光盘驱动启动VM
打开VM电源,进行BIOS界面,切到开机项(Boot),将光盘驱动(CD-ROM Drive)调整到硬盘驱动(Hard Drive)上面即可,然后F10保存,退出BIOS设置。
3)、选择“Troubleshooting”疑难杂症
4)、进入救援模式
如果以上操作正确,便可进入救援模式。
输入1即可进入救援模式。
5)、 救援环境尝试挂载linux根文件系统到/mnt/sysimage
根据上图提示,执行chroot /mnt/sysimage命令,切换至根目录模式,确认initramfs-*.img文件是否存在。
bash-4.2#chroot /mnt/sysimage
bash-4.2#cd /boot
bash-4.2#ls
6)、执行mount命令,将光驱重新挂载至/mnt目录,然后切换至系统软件包所在目录,列出kernel相关软件包。
bash-4.2#mount /dev/cdrom /mnt/
7)、执行rpm命令强制安装kernel软件包
rpm -ivh kernel-3.10.0-693.e17.x86_64.rpm --force --nodeps
8)、kernel软件包重装完成后,查看/boot目录下是否有新的initramfs文件生成。
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
Centos7 开机时遇到initramfs-xxx.img not found错误导致虚拟机无法开启问题处理的更多相关文章
- CentOS7开机时的菜单选项及时间的修改
一.在CentOS更新后,并不会自动删除旧内核.所以在启动选项中会有多个内核选项,可以手动使用以下命令删除多余的内核:(正常下,第一个选项正常启动,第二个选项急救模式启动(系统出项问题不能正常启动时使 ...
- sqlserver插入时发生在“xxx”处关键发生错误
今天知道了一个小技巧,当你的数据库表名为user时会sqlserver的表发生冲突,所以因该将user这样用[user],ok 一切搞定 .
- centos7 开机/etc/rc.local 不执行的问题
最近发现centos7 的/etc/rc.local不会开机执行,于是认真看了下/etc/rc.local文件内容的就发现了问题的原因了 #!/bin/bash # THIS FILE IS ADDE ...
- centos7开机/etc/rc.local不执行的问题
最近发现centos7 的/etc/rc.local不会开机执行,于是认真看了下/etc/rc.local文件内容的就发现了问题的原因了 #!/bin/bash# THIS FILE IS ADDED ...
- 解决centos7 开机/etc/rc.local 不执行的问题
最近发现centos7 的/etc/rc.local不会开机执行,于是认真看了下/etc/rc.local文件内容的就发现了问题的原因了 ? 1 2 3 4 5 6 7 8 9 10 11 #!/bi ...
- Linux centos7开机界面出现多个选项
centos7开机界面出现多个选项时 前面几个选项正常启动,最后一个选项急救模式启动(系统出项问题不能正常启动时使用并修复系统) 在CentOS更新后,并不会自动删除旧内核.所以在启动选项中会有多个内 ...
- centos7 开机/etc/rc.local 不执行的问题(转载)
最近发现centos7 的/etc/rc.local不会开机执行,于是认真看了下/etc/rc.local文件内容的就发现了问题的原因了 #!/bin/bash # THIS FILE IS ADDE ...
- IA-32/centos7开机流程
开机后系统首先在实地址模式下工作(只有1MB的寻址空间) 开机过程中,需要先准备在实模式下的中断向量表和中断服务程序.通常,由固化在主板上一块ROM芯片中的BIOS程序完成 加载BIOS的硬件信息,B ...
- CentOS7 开机调整亮度
默认亮度是100,受不了,所与就自己想了个办法,依赖其它的自启动服务使我的设置生效. /usr/lib/systemd/scripts/nfs-utils_env.sh这是一个开机自启动服务要用到的脚 ...
- centos6.5新增加硬盘挂载并实现开机时自动挂载
在内网主机新增一个2T硬盘,先关机断电再连接硬盘数据线和电源线! 查看当前磁盘设备信息: [root@tb ~]# fdisk -lWARNING: GPT (GUID Partition Table ...
随机推荐
- Android Native Code 手动调试
调试启动过程中的 Android Native Code Crash 记录一下,最后成功使用的工具是 lldb + lldb-server,不需要 root 权限.我最先尝试使用的是,gdb + gd ...
- Vue3 向window注入方法 TS警告 元素隐式具有 "any" 类型,因为索引表达式的类型不为 "number" 问题解决。
window['funcName'] = function(){}; // 'funcName'会标红警告 (window as any).funcName = function(){}; // 正确 ...
- JS数组创建
1.使用Array构造函数 var arr1 = new Array(); //创建一个空数组 var arr2 = new Array(10); // 创建一个包含10项的数组 var arr3 = ...
- 使用git&GitHub通过两台电脑协同作业,助力办公室摸鱼
前情提要:工作有时候负荷比较小,会接一些咸鱼上的活儿或者自己学点软件技能,这时候会出现一个情况,公司笔记本一般不带回家,家里台式机,白天在公司摸鱼编辑的文件,晚上回家想接着干怎么办呢,或是晚上在家干的 ...
- [cisco]Configure private VLAN
vlan 100 private-vlan isolated ! vlan 200 private-vlan community ! vlan 300 private-vlan primary pri ...
- 搭建Angular基础项目学习
https://stackblitz.com/借助StackBlitz网站可快速开始搭建一个angular项目 一个angular的component包含三项东西 A component class ...
- Windows10远程桌面连接CentOS7图形化桌面
Step1:在Centos7上检查是否安装了epel库 执行命令:rpm -qa|grep epel 示例: [root@master ~]# rpm -qa|grep epel[root@maste ...
- unity踩坑集锦
1.AB包加载,如果项目没有这个tag,那么就匹配不上,和代码一样.2.unity打包安卓topbar想显示出来怎么做?:不渲染安全区域外 3. unity编辑器报错 : Expanding inv ...
- curl: (35) SSL connect error的错误
1.先升级nss (Network Security Service, 网络安全服务) yum update nss如果没有nss,则需要安装nss服务 yum install nss 2.更新/安装 ...
- .net core 使用 Nlog 配置文件
nlog.config文件 安装nuget包: NLog.Web.AspNetCore 配置开始 <?xml version="1.0" encoding="utf ...