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

Unix/Linux
linux查看内存的大小
在linux下写的代码,用的是utf-8,结果拿到XP下运行的时候,所有的中文都成乱码
linux su和sudo命令的区别
linux cron 下的定时执行工具使用技巧
linux 查找进程及终止进程操作的相关命令
redhat linux 安装 gcc编译器
Linux Mplayer播放各种格式的电影
一起回顾一下linux常用命令
Linux 网站项目发布要做哪些配置
linux SSH配合SecureCRT的密匙完美使用方法
GD 编译出错解决方法
Facebook Open Platform编译FAQ
Linux 系统硬盘 优化
linux 挂载详解
linux crontab定时命令
Linux 系统中确保访问三级域名畅通的方法
Linux 特权帐号VS普通帐号
确保Linux系统安全的前提条件 漏洞防护
Linux 监视系统资源使用率
Red Hat Linux上使用BIND建立DNS服务器

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 143 ::
收藏到网摘: 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精彩的文章!