背景介绍
host:windows系统、virtualbox:centos系统。
在vbox虚拟机centos运行的同时,host开了很多程序,某个时刻出现大量的内存访问越界弹窗等问题,于是人工强制关闭host;重新开机host后,centos启动失败。
问题解决
按照提示,输入root密码后,通过 journalctl -xb发现关键日志:systemd : failed to mount /xxx/xxx/
根据路径判断是非系统盘的VHD对应的文件系统路径挂载失败,于是在/etc/fstab把对应的挂载代码注释掉;
然后重启能进入系统,手动mount该VHD和cdrom,都提示了文件系统不支持的错误,但是又没有安装文件系统的功能,于是只能yum reinstall kernel;
在重装内核过程中,又提示了depmod xxxxxxx,单独执行depmod --help命令失败,怀疑depmod文件可能坏了,于是百度了一下发现属于kmod,就yum reinstall kmod;
操作后内核重装完成,重启后成功进入系统,并能mount VHD和cdrom。
总结
最后,其实虚拟机异常掉电会产生各种不同的问题,一般分两种,一种是host中虚拟机的相关配置/文件异常,比如VMWARE多数会出现需要解lock的情况,另一种是虚拟机内部比如文件系统出现问题,这里只是遇到的其中一种,但是大多都可能因为文件被破坏,基本进行文件修复就都能解决。