ext2/3最重要应该要算超级块了.超级块存储在文件系统的块1(从0开始编号)中,包含了编档系统配置的所有信息,而且用mount命令装载文件系统时,是要检查超级块的,如果不符合要求则会装载失败.

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

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

2介绍怎样读取一个分区的superblock:

(1)首先我们查看一下在磁盘上有哪些分区,通过fdisk -l

这里有三个分区,我们下面查看/dev/sda3(这是一个device file)

(2)从/dev/sda3拷贝1024B-2048B(这就是superblock的位置)到一个叫superblock的文件

这里我们用到了dd这个工具,它在对磁盘进行这样读写操作时非常有用,具体请见man。

bs=1k 每次读写的块大小

skip=1 偏移多少块开始读(这里块为bs=1k,偏移1,表示从1k开始读)

count=1 读的大小(这里表示读1k)

if,of 分别表示从哪里读和写到哪里去。

这里你也许会问为什么要从1k处开始读,并且就读1k的大小呢?下图就是一个分区的物理存储结构:

从图中我们可以看到第一个Block的第一个1k处是存储的Boot Block,而superblock是从1k开始,大小为1k。

(3)查看superblock文件

用vim打开我们刚才从/dev/sda3复制出来的superblock文件,由于是二进制文件,我们在用vim打开之后要用:%!xxd转换成16进制形式。

到这里其实我们已经看到了在磁盘上superblock的形式了。下面我想验证一个这个superblock的正确性。

首先,通过查看/usr/include/linux/ext3_fs.h头文件中的struct ext3_super_block:

(使用sizeof查看int型占用4个字节,vim以16进制打开的文件,每位代表2的4次方,所以表示一个32位需要两位,int型占用4个字节所以需要8位)

我们可以知道在superblock的头上记录着inodes的个数和block的个数,它们分别是32位。

那从superblock中可以看出:

(这里涉及到大数端和小数端的问题,使用vim打开的文本都需要转换,下面是2位2位的转)

inodes_count: 0000 3a04(注意:这里是小数端) –> 043a0000 = 70909952

blocks_count: fdc4 3904 –> 0439c4fd = 70894845

那么该如何验证这个结果呢?linux为我们提供了dumpe2fs这个工具:

dumpe2fs /dev/sda3 |less

我们可以看到如下的输出(一部分)

到这里,有关如果看superblock的方法,这里就全部都讲完了,同样我们可以用dd查看磁盘上任意的部分。

3.mke2fs -n查看superblock

# mke2fs -n /dev/hda5

mke2fs 1.35 (28-Feb-2004)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

611648 inodes, 1222940 blocks

61147 blocks (5.00%) reserved for the super user

First data block=0

38 block groups

32768 blocks per group, 32768 fragments per group

16096 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912, 819200, 884736

#e2fsck -b 32768 /dev/hda5

接下来只要一路按y,系统就会自动把超级块修好

linux superblock 时间,e2fsck: Bad magic number in super-block_Linux相关推荐

  1. linux superblock 时间,Linux命令(八)

    1.文件系统:windows的FAT,win2000以后的NTFS文件系统,Linux的正规文件系统为EXT2(Linux second extended file system,Ext2fs)传统方 ...

  2. [LVM] Linux resize2fs: Bad magic number in super-block错误的解决方法

    描述:当我LVM扩容逻辑卷区后,检查硬盘(lv)完整性和重置硬盘(lv)容量报错 错误截图: [root@localhost ~]# lvextend -L 246G /dev/cl/home Siz ...

  3. Linux 命令:e2fsck; superblock

    superblock 定义:http://linfo.org/superblock e2fsck -v -y -f /dev/vda3 https://olinux.net/e2fsck/ e2fsp ...

  4. Linux 系统硬盘不能识别挂载 bad magic number in super-block问题的修复

    公司Linux编译服务器外挂硬盘盒不能挂载, 提示信息 "Structure needs cleaning", 用 xfs_repair -n /dev/sdb1 硬盘检测 提示 ...

  5. lvextend扩容后,发现还是原来的大小。报错: resize2fs: Bad magic number in super-block 打开 /dev/mapper/vg01-lv01 时的解决方法

    lvextend扩容后,发现还是原来的大小,以及报错: resize2fs: Bad magic number in super-block 打开 /dev/mapper/vg01-lv01 时的解决 ...

  6. resize2fs: 超级块中的幻数有错(Bad magic number in super-block )

    resize2fs: 超级块中的幻数有错(Bad magic number in super-block ) 问题: lvm创建的逻辑卷,在使用lvextend扩容之后,df看并不会有变化,通常我们需 ...

  7. Magic Number魔数是什么

    在网上查magic number的相关介绍的时候,看到很多人的博客中说magic number之所以叫magic number,就是因为我们并不知道它有什么含义... 最后看了知乎上的回答: Magi ...

  8. linux 应用层时间和随机数,zigbee cc2530时间

    linux c 1.(linux)获取时间,精确到us,struct timeval,使用gettimeofday()获取当前 #include <sys/time.h> #include ...

  9. linux上点时间延时,Linux上时间和定时器

    Linux下时间和定时器 http://blog.chinaunix.net/u1/35065/showart_1870601.html重点读了第三种方法.文章写得很好,加了一点点注释可参考http: ...

最新文章

  1. mysql主从以及读写分离(科普)
  2. python手机版怎么用-怎么用手机编写Python程序?
  3. MySQL中地理位置数据扩展geometry的使用心得
  4. 打印三角形、已三角形方式 输出数组中的内容
  5. cocos 动画系统
  6. E: Could not get lock /var/lib/dpkg/lock(无法获得锁)
  7. java 发送信号_java – 在Windows中发送任意信号?
  8. 主题模型TopicModel:LDA编程实现
  9. Umbraco中的Examine Search功能讲解
  10. Java集合框架源码解读(4)——WeakHashMap
  11. c语言函数的英文全称
  12. 激光雷达原理 你真的了解全了吗?
  13. cyj等于什么英语单词_英语参考单词读写规律大全.doc
  14. Linux下的常用软件集锦
  15. php项目过段时间就崩溃,apache 运行一段时间出现错误
  16. bulter机器人_机器人库早报|特拉华大学通过人工智能扩大发展劳动力 1.5 倍
  17. 服务器网卡组(team)技术原理与实践
  18. RBF-UKF径向基神经网络结合无迹卡尔曼滤波估计锂离子电池SOC(附MATLAB代码)
  19. java split 双竖线_HIVE 常用函数及实例
  20. JAVA从入门到起飞

热门文章

  1. Python imp的代替
  2. 从1-100求质数 Python for else
  3. Python实践-咚咚呛讲师Python进阶教程
  4. 关于IDEA导包出现错误,爆红的情况
  5. 我的世界java版好玩的种子_《我的世界》种子详细推荐大全!还不知道有什么好玩的种子?...
  6. Python - 获取微信好友性别比例( Pie )
  7. 6,Matlab轨迹生成
  8. php服务器内容修改时间,php设置服务器时间
  9. 如何教书?谈谈我当助教的感想-顺便回忆一下大学
  10. 大数据开发·关于虚拟机Hadoop完全分布式集群搭建教程