LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1038|回复: 4

我搜索过论坛里关于"kernel panic:No init found. "但是没有解决

[复制链接]
发表于 2006-6-18 17:04:59 | 显示全部楼层 |阅读模式
事情是这样的:昨天不小心删除了glibc,结果之后所有的操作都失灵了。重启后就出现了"kernel panic:No init found.Try passing init =option to kernel"。我就在论坛里搜索了关于这个问题的帖子,按照几种方法试过但是都没有解决,我在linux rescue下检查过fstab和grub.conf文件内容都没有改变过,开机进入grub控制台手动引导也不行。不过我在试图做修复的时候发现一个问题,就是我之前是想用安装盘引导启动重新安装glibc的软件包,结果在挂装硬盘的时候系统发现有2个/dev/hda4 并且提示我至少有一个分区没有卸载,需要我重启后卸掉才能安装,这个问题我在用rescue进入系统时,选择挂装之前的分区系统也同样提示过,但在rescue中却能够挂上一个/dev/hda4.我想问题是不是出在这里,但是我又实在想不出该怎样解决这个问题,所以还请各位帮我一下,给我一个解决问题的思路。谢谢!
发表于 2006-6-19 16:54:38 | 显示全部楼层
应该是因为你的init程序无法执行了,找不到动态链接库。

想办法从光盘或者u盘启动任何一种linux, ldd /sbin/init 看看输出的动态链接库是不是都有。

说老实话,因为linux下几乎任何程序都需要glibc,还真是有点麻烦。

可以试着在别的系统上编译一个静态链接的busybox, 然后备份现在的init程序,然后用busybox代替你的init程序。然后等系统起来以后赶紧恢复glibc。

good luck。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-19 17:43:08 | 显示全部楼层
Post by wq1977
应该是因为你的init程序无法执行了,找不到动态链接库。

想办法从光盘或者u盘启动任何一种linux, ldd /sbin/init 看看输出的动态链接库是不是都有。

说老实话,因为linux下几乎任何程序都需要glibc,还真是有点麻烦。

可以试着在别的系统上编译一个静态链接的busybox, 然后备份现在的init程序,然后用busybox代替你的init程序。然后等系统起来以后赶紧恢复glibc。

good luck。


谢谢,我试试
回复 支持 反对

使用道具 举报

发表于 2006-6-19 20:41:20 | 显示全部楼层
找张 Linux LiveCD (如 Knoppix) 来重装 glibc  ,不用编译是否会简单一点?

Steps:
1. 启动 LiveCD
2. 下载正确版本的 glibc 的包 (rpm or deb etc)
3. 用 alien 以将包转成 tgz (如果是 slackware 就不用转了)
4. 挂载受损系统
5. 打转换好的包解压到受损系统
6. 重新启动旧系统
7. 用系统自身的安装软件重装一次 glibc 便告完成

方法跟这里差不多,http://www.linuxsir.cn/bbs/showthread.php?t=227316

文章是为 Debian 系统而写,但不同发行版虽然打包方式不同,急救方法其实差不多,明白原理便可

Good Luck!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-20 09:14:48 | 显示全部楼层
Post by d00m3d
找张 Linux LiveCD (如 Knoppix) 来重装 glibc  ,不用编译是否会简单一点?

Steps:
1. 启动 LiveCD
2. 下载正确版本的 glibc 的包 (rpm or deb etc)
3. 用 alien 以将包转成 tgz (如果是 slackware 就不用转了)
4. 挂载受损系统
5. 打转换好的包解压到受损系统
6. 重新启动旧系统
7. 用系统自身的安装软件重装一次 glibc 便告完成

方法跟这里差不多,http://www.linuxsir.cn/bbs/showthread.php?t=227316

文章是为 Debian 系统而写,但不同发行版虽然打包方式不同,急救方法其实差不多,明白原理便可

Good Luck!


谢谢版主!我会试一下的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表