[LU系统故障]Q02: 如何恢复启动文件?KDE僵死后系统崩溃

首发:http://www.linuxfans.org/bbs/thread-188556-1-1.html

[问题描述]
winxp sp3 下使用vbox安装 Debian5,一直这样使用,感觉还是不错的,后来因为要用KDE环境中的软件,于是安装了KDE。版本是KDE3,谁知用着用着整个桌面就停止了运行,并没有按什么特殊键,只是在进行普通的网页浏览,因此应该是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-1-amd64内核single user下试着先umount/boot分区(幸亏安装系统的时候为/boot单独进行了分区),然后卸载掉2.6.26-2-amd64(apt-get purgelinux-image-2.6.26-2-amd64),竟然成功了。 以前没有umount/boot时不能成功卸载,老提示/boot/vmlinuz*文件句柄过期(Stale NFS filehandler),当umount后,因为不存在相关项,所以内核卸载成功了。

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

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

继续mount -t ext3 /dev/sda1 /boot 并运行一次apt-get installlinux-image-2.6.26-2-amd64,因为在/boot下存在不正确的内核连接文件,因此这次不会成功把内核安装上,而是重新恢复了/boot下的相关配置,即恢复到没有升级内核前只有2.6.26-1-amd64内核时的样子。再一次运行apt-get installlinux-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程序好像也能运行得不错,所以决定followDebian发行者的安排,Debian的目标是实现一个稳定的系统,经过不知多少实验才完成了稳定版的发行,而其决定使用GNOME为默认桌面看来是有道理的。

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值