zoukankan      html  css  js  c++  java
  • Centos 6.5 启动报错 "Kernel panic

    某一天,开发同事突然告诉我服务器上自己的虚拟机连不上了,我登陆到服务器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  不会报错,证明已经修复

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

  • 相关阅读:
    实验六 进程基础
    实验五 shell脚本编程
    实验四 Linux系统C语言开发环境学习
    实验三:Linux系统用户管理及vim配置
    实验二Linux简单文件操作命令
    实验一 Linux系统与应用准备
    实验八 进程间通信
    实验七 信号
    实验六 进程基础
    实验五 shell脚本编程
  • 原文地址:https://www.cnblogs.com/yizhipanghu/p/10254186.html
Copyright © 2011-2022 走看看