故障:
CentOS开机提示Centos kernel panic-not syncing:VFS:Unable to mount root fs on unknown-block
故障背景:
在没有关闭应用和系统的前提下,直接点了虚拟机关闭电源选项,再开机就报如上错误
原因分析:
根据提示信息分析,可能因为意外关机导致系统内核信息混乱。
解决方法:
(1)如果开机有多个内核选项,这是最简单的方法:开机启动时按Esc,然后选择下面的其他版本的内核启动即可。(成功进入系统后,你可以选择改变开机默认选择的内核)。
(2)如果开机没有多内核选项可选:那就需要修复内核(查看快照发现只有一年前的,基本不可用)
下面为vm exsi 修复centos虚拟机内核操作
1.下载故障虚拟机对应的centos镜像
在报错界面有内核版本:3.10.0-1160.25.1.el7.x86_64,可以根据内核反推centos版本
我这边由于这个应用有好几台主机,所以登陆了其他机器查看centos版本
[root@evevm1 docker]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)
下载镜像渠道可以参考:https://blog.csdn.net/a350904150/article/details/129833998
最先查看的是官网,发现旧版本已经不提供了,顿时心凉了一半
好在后来在阿里云上找到了资源,我只用来修复内核,下载最小版本即可
2.上传镜像文件,配置虚拟机加载镜像
(1)在vsphere 控制口找到虚拟机所在的存储磁盘,上传镜像文件
(2)设置故障虚拟机配置为开机加载dvd镜像
镜像文件选择刚刚上传的镜像
3.进入Linux rescue模式
(1)设置虚拟机bios引导优先级为cdrom,并开机
如果是内核损坏,这步可以省略,因为bios发现硬盘加载不了会自动加载cdrom
(2)打开Remote Console
(3)开机
(4)进入bios,切换到boot,并把cdrom调至第一位,后按F10保存退出
(5)选择troubleshooting
(6)选择rescue a centos system
(7)选1进入修复模式
4.开始修复
chroot /mnt/sysimage 的意思是把真实的系统文件切换成根目录(就是进入真实的系统环境),因为rescure模式把真实系统文件挂载到了 /mnt/sysimage目录
这里不需要切换
(1)挂载光驱cdrom到/mnt/cdrom路径下
mkdir -p /mnt/cdrom
mount -t iso9660 /dev/cdrom /mnt/cdrom
cd /mnt/cdrom
ls
(2)内核修复
修复内核所需的文件在挂载光盘的Packages目录下面
cd Packages
ls |grep kernel-
rpm -ivh ./kernel-3.10.0-862.el7.x86_64 --root=/mnt/sysimage/ --force
(5)退出恢复模式,关闭系统
exit
(6)按步骤一重新设置bios引导顺序,开机即可
参考文档:https://blog.csdn.net/e_wsq/article/details/87075346
他后来有修复grub程序步骤,我执行提示 command not found,所以没有修复grub程序
不过后来重启系统,卡了半天还是正常开机了,所以一般来说不用修复grub程序
我猜测他那个为老版本命令,新版变成了 grub2-install
如果要修复一定要指定/boot的盘符,即/dev/sda1
5.关于内核操作
有时候升级几次后内核文件占用较大,需要腾空间。操作如下:
第一步、打开终端提升权限:
su #提升权限
第二步、查询当前使用内核
uname -a #查询当前使用的系统
第三步、查询系统中所有内核
rpm -qa | grep kernel
或者可以用这个命令查看:cat /boot/grub2/grub.cfg | grep menuentry
查看当前默认内核:grub2-editenv list
设置默认启动内核:grub2-set-default 'CentOS Linux (3.10.0-1160.92.1.el7.x86_64) 7 (Core)'
第四步、删除你不需要的内核
yum remove 你要删除的内核 #把老版本的内核remove,千万不要把正在使用的内核删掉
第五步、更新grub引导菜单
grub2-mkconfig -o /boot/grub2/grub.cfg #重新编译引导
第六步、重启系统
init 6 #重启使用“reboot”也可以
参考文档:https://blog.csdn.net/lushanglou/article/details/131640964