CentOS 6.5(x64) 和Redhat6.5操作系误删libc

系统类型: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后重启,但是这种方法不适用于本次情况。

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

注:下图进入方式为在重启虚拟机时连续按两次ESC键




语言默认选择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结果刚删除了软连接又变成了之前的样子,又重新修复一遍,所以,系统文件的链接千万别随便删!

猜你喜欢

转载自blog.csdn.net/u010258235/article/details/89491851