一台使用了多年的KVM虚拟机,突然由于断电等原因导致无法正常启动,表现为:
virsh start虚拟机后,没有任何反应,远程ssh也无法连接到虚拟机中
试图用virsh的console进入虚拟机,但是一直出现Escape character os ^]的提示,无法进入。
Google查询是可以修改虚拟机的grub.conf设置来解决这个问题,但是虚拟机目前无法进入,根本无法对这个文件进行修改。
于是在KVM所在的服务器上,将虚拟机的img文件mount到一个目录(img是raw格式,具体mount方法可以Google),直接修改虚拟机中的/etc/grub.conf文件,在 kernel 这一行的末尾,添加 console=ttyS0
virsh重新start虚拟机,然后console进入,就可以看到虚拟机的报错信息了
发现是磁盘问题,用fsck修复磁盘后重启虚拟机,搞定。