误删libc提示Kernel panic not syncing: Attempted to kill init解决办法

系统类型:CentOS 6.5(x64)
启动提示:Kernel panic – not syncing: Attempted to kill init
背景:因为误删了 libc.so.6 -> libc-2.12.so的软连接(图1),没想到很多命令不能用了。 原来linux 很多shell命令都离不开 libc.so.6

接下来重启系统进去之后就一直报Kernel panic – not syncing: Attempted to kill init的错(↓图)

方法1:
之前看网上有很多方法是编辑grub菜单,选择“kernel /vmlinuz-XXXXro root=/dev/vogroup00/logvol00 rhgb quiet” 一栏,按‘e’键进入编辑,在末尾增加enforcing=0后重启,但是这种方法不适用于本次情况。

Kernel panic – not syncing: Attempted to kill init

 

博主在虚拟机的RHEl6.5内设置selinux参数的时候不小心把selinuxtype参数设置为disabled。

于是在下次开机的时候出现了如下问题:

卧槽,内核错误??

对于一个接触linux不是很多的博主来说,出现了短暂性的懵逼。在网上查了一下资料,发现这种问题还真是不少,不过造成问题的原因大都是SELINUX参数没有设置好(还有出现其他原因的)



介绍一下SELINUX:SELinux是一种安全子系统,它能控制程序只能访问特定文件,使用setup工具 进入图形化关闭,或者修改/etc/sysconfig/selinux 文件。SELINUX=disabled
网上有解决方法:
系统启动的时候,按下‘e’键进入grub编辑界面,编辑grub菜单,选择“kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet” 一栏,按‘e’键进入编辑,在末尾增加enforcing=0,即:
kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet enforcing=0
按‘b’键继续引导,OK顺利前进。
可是我在执行的时候,开机倒数界面按“e”键进不去,是在刚启动的时候按下e键进去的,成功解决问题。

另外,除了博主本次的原因某个论坛的网友总结了另外两种情况会造成该情况:1、没有swap分区或太小2、文件系统有问题

最后,奉上参考文章:http://fuwenchao.blog.51cto.com/6008712/1336629

 



方法2: 
重启虚机并进入急救模式:在重启后看到VMWARE的界面时按ESC,选择CD-rom启动,也可以直接更改bios,选择以CD-ROM启动,只要进入救援模式,找到相关的文件夹,剩下来到就和先前一样了,有仇的报仇,有冤的报冤


语言默认选择English 

键盘默认选择US 

3。选择是否配置网卡 
一般系统到了要rescue了,网络也就不需要了,所以可以选择否跳过网卡配置,当然你如果需要也可以选择是,具体设置过程和安装时一样。 

选择继续(Conyinue) 

硬盘上的系统已经被找到并挂载在/mnt/sysimage 下 

三种选项: 
 1.shell 进入命令行模式; 
 2.fakd是诊断模式; 
 3.reboot重启电脑; 
我们这里选择shell进入命令行模式 

由于刚进去的时候所有的文件都是只读:READ-ONLY,所以必须使用命令给予读写权限:   

mount -o remount rw / 和 mount -o remount rw /mnt/sysimage

进入 /mnt/sysimage,该文件夹下才是真正的系统路径,进入 /lib (或 /lib64  视情况而定)
然后重新建立软链接 
并使用chroot /mnt/sysimage命令(提示符会从bash-4.1#变为sh-4.1#)

在sh-4.1#模式下需要先exit退出,回到bash-4.1#才可以reboot重启系统,重启后顺利进入系统。


另外还有一个坑就是:系统文件的链接千万别随便删,非要更新lib文件,可以用ln -sf 强制更新链接,刚修复好还没缓过劲来,想把2.14换成2.12结果刚删除了软连接又变成了之前的样子,又重新修复一遍,所以,系统文件的链接千万别随便删!

20 thoughts on “误删libc提示Kernel panic not syncing: Attempted to kill init解决办法

Leave a Reply

Your email address will not be published. Required fields are marked *