Centos 6.5 启动报错 "Kernel panic - not syncing: Attempted to kill init"解决办法

某一天,开发同事突然告诉我服务器上自己的虚拟机连不上了,我登陆到服务器CAS管理界面,重启虚拟机后发现报错了

问题:Kernel panic - not syncing: Attempted to kill init

原因:这个问题的主要原因是系统的/lib64/libc-2.12.so/lib64/libc.so.6文件丢失或者软链接错误

解决办法:

    一、修改启动模式,更改为光盘启动(各种环境大同小异)

    二、用光盘启动救援模式,进入shell命令行:执行: chroot /mnt/sysinage 报错

    三、拷贝/lib64/libc-2.12.so/lib64/libc.so.6文件

    四、执行: chroot /mnt/sysinage  不会报错,证明已经修复

过程如下:

  一、修改启动模式,更改为光盘启动(各种环境大同小异),我的服务器装的是CAS管理平台,配置如下(如果是其他的请自行百度)

  1、挂载光盘

  

  2、设置为启动引导后,重启虚拟机

  

   二、用光盘启动救援模式,进入shell命令行:执行: chroot /mnt/sysinage 报错

  1、选择Rescue install system 后回车

  

  2、选择语言:English(默认)

  

  3、选择键盘类型:us(默认)

  

  4、Setup Networking:NO(设置网络根据情况而定,一般来说网络没问题就不用设置了)

  

  5、Rescue:Continue(继续)

  1. >选择Continue,则救援模式程序会自动查找系统中已有的文件系统,并把他们挂载到/mnt/sysimage目录下。

  2. >选择Read-Only,则会以只读的方式挂载已有的文件系统。

  3. >手动挂载则Skip。

  4. >Advanced ,高级选项就不作说明了。

   

  6、原系统挂载路径/mnt/sysimage,如果想获得原系统root环境,执行行命令:chroot /mnt/sysimage 即可

  

  7、一直OK,到选择shell命令行,OK

  

   8、因为/usr/lib64/libc-2.12.so & libc.so.6 -> libc-2.12.so 问题,执行chroot /mnt/sysinage会报错

  

  三、拷贝/lib64/libc-2.12.so和/lib64/libc.so.6文件

    cp /lib64/libc-2.12.so /mnt/sysimage/lib64/libc-2.12.so

    cp /lib64/libc.so.6 /mnt/sysimage/lib64/libc.so.6

    注:如果拷贝失败:用强制拷贝cp -rf 命令

  四、执行: chroot /mnt/sysinage  不会报错,证明已经修复

     重新启动虚拟机,启动成功

 

posted @ 2019-01-11 11:19  香菜哥哥  阅读(5466)  评论(0编辑  收藏  举报