系统: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...