ITPub博客

首页 > Linux操作系统 > Linux操作系统 > e2fsck: Bad magic number in super-block_Linux

e2fsck: Bad magic number in super-block_Linux

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

1 获取错误的出错磁盘(或者设备)块的大
 tune2fs -l /dev/hda4其实大多数情况下是 1 K.
介绍怎样读取一个分区的superblock:

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

image

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

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

image

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

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

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

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

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

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

Partition_Structure

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

 

(3)查看superblock文件

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

image

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

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

image

(使用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
我们可以看到如下的输出(一部分)

image

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

3. mke2fs -n 查看superblock

  1. # mke2fs -n /dev/hda5
  2. mke2fs 1.35 (28-Feb-2004)
  3. Filesystem label=
  4. OS type: Linux
  5. Block size=4096 (log=2)
  6. Fragment size=4096 (log=2)
  7. 611648 inodes, 1222940 blocks
  8. 61147 blocks (5.00%) reserved for the super user
  9. First data block=0
  10. 38 block groups
  11. 32768 blocks per group, 32768 fragments per group
  12. 16096 inodes per group
  13. Superblock backups stored on blocks:
  14. 32768, 98304, 163840, 229376, 294912, 819200, 884736
  1. #e2fsck -b 32768 /dev/hda5
接下来只要一路按y,系统就会自动把超级块修好


 


 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/645199/viewspace-1366478/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-11-20

  • 博文量
    39
  • 访问量
    241017