QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3312|回复: 4

如何恢复启动文件?KDE僵死后系统崩溃

[复制链接]
发表于 2009-5-4 11:18:55 | 显示全部楼层 |阅读模式
winxp sp3 下使用vbox安装 Debian 5,一直这样使用,感觉还是不错的,后来因为要用KDE环境中的软件,于是安装了KDE。版本是KDE 3,谁知用着用着整个桌面就停止了运行,并没有按什么特殊键,只是在进行普通的网页浏览,因此应该是KDE的BUG。

在网上查了下,KDE 3的确有这个BUG,没办法只好重启了虚拟机,但是已经不能启动,报告vmlinuz-2.6.26-2-amd64 为 Bad file。

升级linux-image-2.6.26-2后没有卸载2.6.26-1,现在还是可以通过2.6.26-1进入单用户模式的。到/boot下ls -i 可以看到文件列表,可是ls vmlinuz*则报告vmlinuz-2.6.26-2-amd64:Stale NFS file handle

查看系统日志,在启动过程中自动修复过文件系统,在2.6.26-1内核下进入图形界面看不到vmlinuz-2.6.26-2-amd64,但可以通过ls列出来。

现在我已经快崩溃了,考虑卸载内核2.6.26-2-amd64吧,仍然报告相关文件Stale NFS file handle,手动删除这些文件也不行,哪怕用了强制删除页不行,郁闷。

咱们坛子是一个卧虎藏龙之地,有哪位仁兄可以帮忙指点一下呢?不胜感激!
发表于 2009-5-4 15:28:26 | 显示全部楼层
需要检测分区,可能是文件系统有错误没修复。
修复好应该就可以删除了。
回复

使用道具 举报

 楼主| 发表于 2009-5-4 16:20:22 | 显示全部楼层
你是说用fsck 吗?可是自动修复了一下却不管用,
回复

使用道具 举报

发表于 2009-5-4 17:08:06 | 显示全部楼层
修复了应该至少可以强行删除文件的……我觉得是没有成功修复……

fsck 貌似需要 umount 了分区才管用,也就是说,必须用另一个 Linux 系统来 fsck 。
安装盘应该就可以,但只能用他的应急命令行……
建议找个小巧的 LiveCD 。
回复

使用道具 举报

 楼主| 发表于 2009-5-4 22:57:36 | 显示全部楼层

回复 4# jiangtao9999 的帖子

谢谢,我用umount后进行fsck,说是成功修复,可是仍然不能强行删除文件。

不过这个问题已经解决了。

就在刚才,我在2.6.26-1-amd64内核single user下试着先umount /boot分区(幸亏安装系统的时候为/boot单独进行了分区),然后卸载掉2.6.26-2-amd64(apt-get purge linux-image-2.6.26-2-amd64),竟然成功了。 以前没有umount /boot时不能成功卸载,老提示/boot/vmlinuz*文件句柄过期(Stale NFS file handler),当umount后,因为不存在相关项,所以内核卸载成功了。

内核成功卸载后,mount上/boot(mount -t ext3 /dev/sda1 /boot),这时发现可以使用ls -l查看/boot目录了,只是相关的vmlinuz等文件变成未知,这时才明白所谓Stale NFS file handler是vmlinuz*之类链接的文件的错误,因为卸载了内核,这些链接文件对应的文件不存在了,于是它们变成为自由的了。

接着umount /boot再运行fsck /dev/sda1这才出现文件系统错误信息,正确修复。

继续mount -t ext3 /dev/sda1 /boot 并运行一次apt-get install linux-image-2.6.26-2-amd64,因为在/boot下存在不正确的内核连接文件,因此这次不会成功把内核安装上,而是重新恢复了/boot下的相关配置,即恢复到没有升级内核前只有2.6.26-1-amd64内核时的样子。再一次运行apt-get install linux-image-2.6.26-2-amd64后系统恢复成功。

对了在这期间,还卸载了kde,考虑到因为是在kde僵死后发生的问题,kde相关文件在文件系统中也有错误,所以才执行了卸载kde的命令,现在想来不知是否和这个有关系。

不过,重新启动后,系统终于恢复了没有安装kde前的样子,真是太好了。

谢谢大哥,看了您的回帖,你让我加强了使用fsck的信心,算来系统的恢复也有您的一份功劳。真是感谢!

(另外,本着经验共享的精神,下面列出解决这个问题用到的一些命令,希望对朋友们有帮助)
基本说明:我的系统debian lenny amd64在winxp sp3下使用vbox安装, 开始时内核为2.6.26-1-amd64(对应内核为linux-image-2.6.26-1-amd64),后来升级了内核为linux-image-2.6.26-2-amd64,/boot分区为/dev/sda1,/分区为/dev/sda2, /usr分区 /dev/sda3,swap分区为扩展分区(/dev/sda4)中第一个分区/dev/sda5, /home 分区为/dev/sda6

使用的命令有

umount /boot :卸载/boot分区,即/dev/sda1
apt-get purge kde :卸载KDE
apt-get autoremove :自动卸载KDE相关软件
apt-get purge linux-image-2.6.26-2-amd64 :卸载2.6.26-2-amd64内核,使/boot下的相关link文件失效
mount -t ext3 /dev/sda1 /boot :装载/dev/sda1到/boot,试效果
ls -l /boot :列出/boot目录文件的详细列表,成功,那些与2.6.26-2-amd64内核相关的link文件的确失效,文件系统潜在的错误可以显现出来了
umount /boot :卸载 /boot方便检查其分区
fsck /dev/sda1 :检查/boot对应分区,错误显示若干,修复并成功
mount -t ext3 /dev/sda1 /boot :装载/dev/sda1到/boot,对该分区中的内核文件进行自动整理
apt-get install linux-image-2.6.26-2-amd64 :使用安装命令,因为/boot分区有相关文件,导致安装失败,但此命令调用到的脚本对/boot下的文件和grub进行了重新整理修复
apt-get install linux-image-2.6.26-2-amd64 :再次安装内核,成功
apt-get autoremove :进行安装后处理,删除不必要的软件,这个操作可以不做,只是为了保证系统清洁所以才做了一下
reboot重新启动系统后一切就绪

为了让新安装的内核可以很好的使用vbox,后来当然安装了vbox增强,至此系统恢复了往日的风采
这个错误教育我不要使用KDE,即使需要某些KDE下的应用也是一样。因为在GNOME下K程序好像也能运行得不错,所以决定follow Debian发行者的安排,Debian 的目标是实现一个稳定的系统,经过不知多少实验才完成了稳定版的发行,而其决定使用GNOME为默认桌面看来是有道理的。

好了,写到这里问题应该交待清楚了,希望对遇到类似烦恼的朋友能有所帮助,阿门!

[ 本帖最后由 lanxingke 于 2009-5-4 23:08 编辑 ]
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-2 00:37 , Processed in 0.041685 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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