Attempted to kill init!——libc.so.6: file too short

遇到Ubuntu10.04LTS系统在安装软件后出现libc.so.6文件错误导致系统崩溃的问题。通过尝试进入recover模式、修改启动方式、使用livecd挂载硬盘、备份及恢复系统文件等方法,最终解决问题。

系统:Ubuntu 10.04 LTS

问题:

/sbin/init: error while loading shared libraries: /lib/tls/i686/cmov/libc.so.6: file too short

Kernel panic - not syncing: Attempted to kill init!


前因:

安装某软件,提示:不存在库/lib/tls/i686/cmov/libc.so.6。发现该源安装文件附带有这个库,就将这个文件拷贝到目录

/lib/tls/i686/cmov/下,刚敲完拷贝命令,系统死机,于是强制重启,接着报出上错,系统停滞不前。

谁叫我乱拷贝呢,自找麻烦!哈哈~

不想重装。。。


解决过程:

1.猜想是libc.so.6文件拷贝出错,打算进recover模式,依然报上错。

2. 修改启动方式:rw quiet root=/ init=/bin/bash,能够进入命令行模式,但是无法找到目标目录。

3. 考虑到与Tianming(PANDA Lab mate)用的系统版本相同,在他那里拷贝了整个cmov到移动硬盘,现在的问题是如何挂载系统硬盘和移动硬盘。考虑用livecd,可是问了周围的人,都说没有。

4. 怎么办呢。。。

5. Le来了,再问他有没有ubuntu安装盘,“有”, “在家里”。ps: 哈哈哈。。。接着又说,“实验室也有吧,有一个光盘包, 找找看“

6. 找到了,8.04版本,也可以用。

7. 从光盘启动,顺利挂载所有硬盘,备份原有cmov目录,拷贝Tianming的cmov目录覆盖本机,重启。

8. 依然报同样的错。既然不行,那还是先恢复原样吧。

9. 再用光盘启动,恢复原样后。接着发现libc.so.6在Tianming的机子上是一个符号链接,指向同目录下的 libc-2.11.1.so。于是,我在自己机子上,删除了原来的libc.so.6(考虑它有问题,就没有备份),并重新生成:ln -s  libc-2.11.1.so  libc.so.6, 重启。

10. 报同样的错。。。

11. 停下来,重新思考,”安装那个程序的时候,说找不到libc.so.6,也就是说可能原来根本就没有这个文件!”  (因为看到Tianming机子上有,就忽视了这一线索,想当然认为自己的机子上也应该有。)于是再用光盘启动,删除libc.so.6,重启。

12. 成功!

~~~要小心,你可能一直是错的,思想,观点,人生。。。open your heart...

### 三级标题:Kernel Panic 原因分析与解决方法 当系统提示 `End Kernel panic - not syncing: Attempted to kill init!` 时,表示内核在启动过程中无法正常启动 `init` 进程(即 PID 为 1 的系统初始化进程),导致整个系统无法继续运行。这种问题可能由多种原因引起,包括但不限于文件系统损坏、SELinux 配置错误、关键系统文件缺失或驱动模块加载失败。 SELinux 的配置错误是已知可能引发此类问题的一个因素。例如,SELinux 配置文件 `/etc/selinux/config` 中若存在拼写错误,如 `SELINUX=disables` 而非 `SELINUX=disabled`,可能导致系统在启动阶段无法正确加载安全策略,从而触发内核恐慌。这种情况下,修正配置文件中的拼写错误可恢复系统正常启动[^1]。 ### 三级标题:系统修复步骤 若系统在启动后挂起或提示内核恐慌,建议采取以下措施进行排查与修复: 1. **检查 SELinux 配置** 编辑 `/etc/selinux/config` 文件,确认 `SELINUX=disabled` 的拼写是否正确。如果 SELinux 被错误配置,可能导致系统在初始化阶段无法正常运行关键进程。 2. **验证文件系统完整性** 使用 Live CD/USB 启动系统,并运行 `fsck` 检查和修复文件系统错误。例如: ```bash fsck /dev/sdXn ``` 其中 `/dev/sdXn` 为系统根分区设备标识。 3. **恢复缺失的系统文件与软件包** 若系统提示多个软件包缺失,可能需要通过网络源或本地镜像源重新安装关键组件。例如,在 Ubuntu 系统中,可使用以下命令尝试恢复: ```bash sudo apt update sudo apt install --reinstall ubuntu-minimal ``` 4. **重新安装内核与 GRUB 引导程序** 若内核文件损坏或引导配置异常,建议重新安装当前内核版本并修复 GRUB。在基于 Debian 的系统中执行: ```bash sudo apt install --reinstall linux-image-$(uname -r) sudo grub-install /dev/sdX sudo update-grub ``` 其中 `/dev/sdX` 为实际引导设备路径。 5. **分析系统日志以定位问题** 使用 `dmesg` 或 `journalctl` 工具查看内核日志,以识别导致 `init` 启动失败的具体原因。例如: ```bash dmesg | less journalctl -b -1 ``` --- ### 三级标题:预防与维护建议 为避免类似问题再次发生,建议定期执行以下维护操作: - 定期检查系统日志,识别潜在启动问题。 - 在修改 SELinux 或 AppArmor 等安全模块配置前,备份原始配置文件。 - 确保系统更新过程中不会中断电源或网络连接。 - 使用 `grub-mkconfig` 或 `update-grub` 工具定期更新 GRUB 配置。 - 在关键系统升级前,创建系统快照或完整备份。 --- ### 三级标题:相关问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值