当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 拯救你的文件系统-- 修复超级块

Unix/Linux
mysql+httpd+gd+php+zend
automake 小回顾
unix黑客精神的最好诠释
www
sun t3存储的设置
RPM简明中文手册
Linux爱好者入门教程 序章 (持续更新)
第一章 Linux基础知识 (飘心)
linux下进程与线程
浅谈如何学习linux
第二章 Linux安装
硬件安装指南
Windows 2000 的桌面不見了的解決方法
部分的ADSL路由器默认帐号密码
如何设定安全log服务器呢?
iptables 规则速查
网友学习 Linux 的七点忠告
sniffer的含义及原理
Linux编程白皮书 第二章 内存管理
Linux编程白皮书 第二章 内存管理 2.1.1 请求调页 --2.1.5 访问控制

Unix/Linux 中的 拯救你的文件系统-- 修复超级块


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 203 ::
收藏到网摘: n/a

哇!!!停电了,又是对 FS 一次严峻的考验,555555555,这次它没挺住,提示超级块坏掉了。。我的data阿。。。My God!!!!!怎么把root分区当作SWAP给mkswap了,我的data阿。。。。还好有这个修复大法,不然真是哭死了。。。^_^
Are you ready?   OK,Let`s Go ! 超级块: 从磁盘上读出来的第一块信息就是超级块(superblock),它记录了磁盘的几何尺寸,可用空间容量最重要的是记录了第一个inode位置,就是"/ "的拉,ext2/3文件存取都是通过inode定位的,比如使用/home/blue/test这个文件,首先先找到/的inode,然后找到/home的inode,再找到blue的inode最后找到test的inode,可见没有超级块,文件系统就没有使用意义。来看看ext2/3文件系统的结构图:可以看出,ext2/3文件系统是由许多的块组组成,在其他的块组中保存了超级块的复本通常只有块组0的超级块会被程序读取,比如mount,e2fsck默认就只读取块组0的。如果超级块被写上其他的数据,比如被mkswap后,超级块保存的信息就丢失了mount,fsck就会报告超级块损坏,无法正常挂载系统了 :(鉴于超级块如此重要,文件系统的设计者将这些超级块拷贝了许多份分散在整个文件系统的块组中。以对付第一个超级块损坏,真是想的周到阿 ^_^我们要做的就是用分散在其他块组中超级块替换已经损坏的,就万事大吉啦。首先找出超级块都被藏到哪去了 :P 注意: -n 参数表示只列出文件系统的信息,并不真的格式化分区,使用mke2fs时一定要加倍小心 不然真给格了,可就无回天之术了阿!一定要小心。。。。呼。。。。  [root@NEWLFS ~]#mke2fs -n /dev/hda10 mke2fs 1.35 (28-Feb-2004)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)883008 inodes, 1763125 blocks88156 blocks (5.00%) reserved for the super userFirst data block=054 block groups32768 blocks per group, 32768 fragments per group16352 inodes per groupSuperblock backups stored on blocks:        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632[root@NEWLFS ~]#哈哈,原来藏在32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632下面就使用e2fsck命令修复吧![root@NEWLFS ~]#e2fsck -b 32768 /dev/hda10 -b参数指定超级块位置,不使用默认的超级块,必须的啦,默认的都坏掉了。按照提示,一路y后,就OK啦。 相关资源: http://www.science.unitn.it/~fiorella/guidelinux/tlk/node97.html介绍了超级块中都保存了什么东东,是做什么用的 :p http://e2fsprogs.sourceforge.net/ext2.htmlext2fs的主页,里面有详细的ext2文档。 http://bbs.linuxsir.org/showthread.php?t=167666一篇介绍恢复mkswap的方法,本文就根据它写的啦。谢谢whblackhorse精彩的文章!