首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Linux频道
Google
首页 入门 Linux编程 系统管理 网络管理 Linux认证 Unix/BSD Linux数据库 Linux集群 Linux手册 Linux下载 Ubuntu 论坛 专题 RSS
您现在的位置: 中国IT实验室 >> Linux >> 系统管理 >> 系统管理 >> 正文

Linux下恢复EXT3 Superblock的正确方法

    Linux Ext3文件系统超级块(Superblock)错误问题。

    …… bad superblock on /dev/hda4

    一个同事做的恢复, 结果把数据都抹掉了。 后来想想, 当时的直接 fsck 的恢复方法不对。 正确的方法应该是这样的:

    1 获取错误的出错磁盘(或者设备)块的大小。

    有很多种方法可以得到。 比如,

    # tune2fs -l /dev/hda4其实大多数情况下是 1 K.

    2 对当前的出错磁盘备份。

    恢复超级块(Superblock)的过程其实也是一个有风险的过程。能做备份就做好备份。 如果有其他空闲设备, 用 dd 命令把该设备上的内容备份起来。

    3 一般来说, 超级块错基本上也就是主超级块错, 在 Ext2/Ext3 文件系统创建的时候, 会同时在屏幕上提示我们在已经在几个地方备份了超级块。那么怎么发现这些超级块在什么地方呢? 我们看看帮助信息:

 

 -b superblock
Instead of using the normal superblock, use an alternative
superblock specified by superblock. This option is normally
used when the primary superblock has been corrupted. The loca-
tion of the backup superblock is dependent on the filesystem's
blocksize. For filesystems with 1k blocksizes, a backup
superblock can be found at block 8193; for filesystems with 2k
blocksizes, at block 16384; and for 4k blocksizes, at block
32768.

Additional backup superblocks can be determined by using the
mke2fs program using the -n option to print out where the
superblocks were created. The -b option to mke2fs, which spec-
ifies blocksize of the filesystem must be specified in order for
the superblock locations that are printed out to be accurate.

If an alternative superblock is specified and the filesystem is
not opened read-only, e2fsck will make sure that the primary
superblock is updated appropriately upon completion of the
filesystem check.

    4 开始恢复。如果文件系统块大小为1K, 则我们可以用如下命令恢复:

    # /sbin/fsck.ext3 -b 8193 /dev/hda4

    如果这个备用块(8193)也有问题,那么 可以尝试 24577(8192*3+1) ,或者是 40961 (8192*5+1)。

    可能您也会看出来,超级块的保存位置是按照 1,3,5,7 这样的规律的。 具体的位置在 BlockSize(8192)*N+1. 在超过 500M 的空间上是这样的规律。小于 500M 的我不知道。那位知道告诉我一下,谢谢。

【责编:Zenghui】
中国IT教育
相关产品和培训
文章评论
 友情推荐链接
 专题推荐

 ·防范Linux病毒 打造没有病毒的乐土…
 ·Linux Shell编程实用指南…
 ·Linux日志分析与管理
 ·揭密Linux内存管理
 ·邮件服务Sendmail应用配置
 ·Linux 安全管理…
 ·Linux 下DNS服务器架设攻略…
 ·Linux 下的路由的配置与应用…
 ·专题:Apache实用手册
 ·全面剖析Linux文件系统
 今日更新
 认证培训
 频道精选
 Windows频道导航