在ext3文件系统中查看超级块时出现的问题


1

我试图通过ext3文件系统中的命令“ dd”查看超级块。

dd if=/dev/sda3 bs=4096 skip=1 count=1 of=superblock

但是超级块文件中的结果不正确(我比较从dumpe2fs获得的Inode计数值)。设备文件/ dev / sda3在引导块中启动,然后在group0?的超级块中启动。另一个问题是引导块和超级块的大小都是BLOCKSIZE(这里是4096)吗?ext2 / ext3的磁盘格式(我认为它们是相同的)如下所示:

替代文字

Answers:


2

ext2 / ext3文件系统的引导块的长度为1024字节,而不是4096。

  $ sudo tune2fs -l /dev/sda3

将文件系统参数视为块大小,以及

  $ sudo dumpe2fs -hx /dev/sda3

得到超级块。也

  $ sudo dd if=/dev/sda3 bs=1k skip=1 count=4

将获得超级块。


0

感谢dtmilano的回答。在问问题之前,我已经尝试过了。但是我认为结果是错误的。问题是我忘了转换小字节序!

下面我写下我的步骤供您参考:

$ sudo dd if = / dev / sda3 bs = 1k skip = 1 count = 4

超级块中的第一行是:0000000:0000 3a04 fdc4 3904 a616 3600 45f6 fc00 ..:... 9 ... 6.E ...

因此,根据ext3_fs.h中的ext3_super_block结构声明:/ 00 / __le32 s_inodes_count; / *索引节点计数/ __le32 s_blocks_count; /方块数* /

索引节点数为043a0000 = 70909952(0000 3a04应转换为043a0000)块数为0439c4fd = 70894845

与dumpe2fs的输出相同:节点数:70909952块数:70894845

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.