博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助
   mash.cublog.cn
关于作者  
姓名:mystérieux

我的分类  




块和超级块的修复
先看一下普通block出现的错误,这是我的hda2上的系统上出现的故障现象:
一、用halt关机不灵,说是段错误。
二、在Grub中无法引导内核,显示 Error 2 - bad file or directory type
三、# dmesg | tail
EXT3-fs error (device hda2): ext3_check_descriptors: Block bitmap for group 1 not in group (block 293)!
EXT3-fs: group descriptors corrupted!

这可以用 e2fsck /dev/hda2 轻松修复。为何block会出现问题呢?原来本人经常一系统中挂载一个另一个系统的分区,那个系统使用的机会很少,但又没有把这个分区写在/etc/fstab里面,而是频频地手工挂载,觉得也没什么不方便,但这习惯不好,因为如果写在/etc/fstab里面的话,挂载了一定次数后系统在启动阶段会对所挂载的分区进行强制性的文件系统检查,但如果是手工挂载的方式的话,经常会忘记用e2fsck进行检查,直到它出现了明显的故障才知道去检查和修复。

superblock出错的话就不会那样简单了,下面是系统启动时的出错信息:
the superblock could not be read or does not describe a correct ext2 filesystem. if the device is valid and it really contains an ext2 filesystem (and not swap ou ufs or something else), then the superblock is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck - 8193 <device>

超级块处在硬盘的第一个扇区,记录了硬盘的分区和文件系统等重要信息,它错误不但会使其所在分区的操作系统瘫痪,还会影响到所有的分区,更会让整个硬盘都变得无法识别,使操作系统和硬盘表现出极不稳定的状态。grub的Error 2 - bad file or directory type也会发生在超级块错误的时候,但超级块错误中典型的是幻数错误(magic number),这时候用e2fsck是没办法解决它的,用它检查的时候,它可能会说什么问题也没有(clean),这时候可以看出一块独立的boot分区的价值了,如果在1-1024柱面的扇区所属的是一块独立的boot分区,那么只需对这个分区里的内核及其它文件作一下备份,对它用mke2fs进行文件系统的重建,再把备份的文件修复进去,再grub-install装进mbr,一切即可修复正常,但如果没有独立的boot分区,那么对一个庞大的系统内部的文件作备份,然后作文件系统重建,那种耗费就太大了。

 发表于: 2008-02-11,修改于: 2008-04-05 21:35 已浏览401次,有评论0条 推荐 投诉

  网友评论

  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:1.77169

京ICP证041476号