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 的我不知道.那位知道告诉我一下,谢谢。

linux superblock位置,Linux下恢复EXT3 Superblock的正确方法相关推荐

  1. 中断方式下进行串口通讯的正确方法

    转载:http://bbs.ednchina.com/BLOG_ARTICLE_277752.HTM 中断方式下进行串口通讯的正确方法 一般普遍的把串口通讯分为查询方式和中断方式.查询方式比较容易理解 ...

  2. linux卸载minicom,ubuntu下minicom超级终端的使用方法

    ubuntu下minicom超级终端的使用方法 我的系统环境是ubuntu12.04 www.2cto.com 1:下载安装minicom #sudo    apt-get   install   m ...

  3. linux 释放进程res_linux下查询进程占用的内存方法总结

    linux下查询进程占用的内存方法总结 假设现在有一个「php-cgi」的进程 ,进程id为「25282」.现在想要查询该进程占用的内存大小.linux命令行 下有很多的工具进行查看,现总结常见的几种 ...

  4. amd显卡驱动linux 卸载,AMD显卡驱动安装和卸载的正确方法

    不正确的卸载和安装或升级会导致各种问题 比如蓝屏/驱动安装不了/新特性的功能没有用/CCC打不开/游戏出问题.下面是学习啦小编跟大家分享的是AMD显卡驱动安装和卸载的正确方法,欢迎大家来阅读学习. A ...

  5. Java并发编程(3):线程挂起、恢复与终止的正确方法(含代码)

    挂起和恢复线程 Thread 的API中包含两个被淘汰的方法,它们用于临时挂起和重启某个线程,这些方法已经被淘汰,因为它们是不安全的,不稳定的.如果在不合适的时候挂起线程(比如,锁定共享资源时),此时 ...

  6. linux superblock位置,Linux下对superblock的理解

    对superblock的理解首先从partition structure的结构开始: 1.首先了解下block,对于ext2(ext3)文件系统而言,硬盘分区首先被划分为一个个的block,同一个ex ...

  7. linux rz位置,Linux下rz命令使用的实例详解

    Linux中rz命令和sz命令都可用于文件传输,而rz命令主要用于文件的上传,下面将通过几个实例来给大家详细介绍下Linux下rz命令的用法,一起来学习下吧. rz命令可以批量上传文件,当然也可上传单 ...

  8. redis linux 文件位置,Linux下Redis的安装和部署

    一.Redis介绍 Redis是当前比较热门的NOSQL系统之一 它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多 ...

  9. dota2 linux文件位置,Linux下能玩魔兽世界、打DOTA2了 4K 120Hz很爽

    最近魔兽世界的官方怀旧服开始测试了,月底就会正式运营,不少魔兽世界老粉也开始回归了,现在魔兽人气也高涨中,很多人正在为魔兽怀旧服做准备. 魔兽世界本身是有Windows及Mac版本的,但是没有官方Li ...

最新文章

  1. python程序实例教程基础-python基础教程第三版源代码
  2. vue分页+spring boot +分页插件pagehelper
  3. linux内核剖析(八)进程间通信之-管道
  4. 计算机英文文献博客,计算机专业外文文献论文翻译.docx
  5. 固态电池技术取得新突破,充电一分钟续航800公里
  6. java 等待时间_java工作复习——4大时间等待——显示等待
  7. MATLAB 绘制柱状图
  8. 【ROS学习】ROS中四元数与欧拉角的转换
  9. steam链接社区_如何通过Steam链接上的Xbox One控制器启用振动
  10. 零经验小白的独游历程——U3d学习经验与教程分享
  11. 团队作业第二次—项目选题报告
  12. ng-template、ng-container、ng-content 的用法
  13. Ubuntu iwlwifi网卡驱动
  14. tensorflow中axis理解非常重要
  15. 计算机窗口是什么意思解释,Windows电脑窗口是什么?关于电脑窗口的一些基础知识...
  16. 如何设置select-option的多项起始默认值
  17. 数据结构与算法第2章:链表
  18. Qt 系统下的qm翻译文件
  19. 一维DOA估计之Capon算法(含程序)
  20. 双馈风力发电机DFIG模型

热门文章

  1. 基于mybatis读写分离插件
  2. react 响应式图片放大镜 (伸缩盒子)
  3. php 判断是否苹果手机,php判断各种移动端设备的函数
  4. 机器学习--线性回归R语言
  5. 市场调研报告-全球与中国广告创作软件市场现状及未来发展趋势
  6. VMWare修改MAC地址
  7. CentOS OpenStack Pike tacker 之 mistral 安装实录
  8. Bypass学习基础
  9. 获取NVIDIA显卡的温度
  10. qt用QPainter绘制会动会闪烁的奥运标志