CentOS开机报错"error can't find command ':'"处理方法

问题描述
在运行Converter P2V迁移程序后,将CentOS 7迁移为虚拟机后,虚拟机开机报错,会一直卡在引导前 显示”error can’t find command ‘:’”。
CentOS开机报错““error can‘t find command ‘:‘“处理方法-LMLPHP
需要再手动敲回车确认后,重新引导进入系统。

问题定位及解决方案: 重启后会在引导前报错,可能是系统有问题或者grub文件有问题。grub是引导操作系统的程序,它会根据自己的配置文件,去引导内核,当内核被加载到内存以后,内核会根据grub配置文件中的配置,找到根分区所使用的文件系统对应的驱动,通过根分区文件系统对应的驱动,挂载根分区,从而达到启动操作系统的目的。
如果grub.cfg文件内有程序被修改,可能会导致引导故障,系统起不来。
先排查系统问题,确认无误,基本可以确认是grub文件的问题。
具体grub文件位置视系统配置而定,基本都是在/boot/grub下,进入文件夹,修改对应找到的grub.cfg。

cd /boot/grub2/		#grub引导文件夹
vi grub.cfg		#编辑grub引导文件

打开文件,下拉找到如下图位置。发现确实是grub文件的问题。
可以看到converter在迁移过程,对grub文件的部分代码做了修改。但是在打注释的时候可能定位错误,#号打在了每行句首,但是每行都漏了:号。所以才会出现开机引导时识别到命令“:”。
CentOS开机报错““error can‘t find command ‘:‘“处理方法-LMLPHP
所以我们重新编辑文件,在这些有remove by converter的行首补上#号,使注释生效。
CentOS开机报错““error can‘t find command ‘:‘“处理方法-LMLPHP
保存文件后重启验证,已经不会卡报错,直接引导进系统。

06-17 13:15