Ext2:组描述符

Posted

技术标签:

【中文标题】Ext2:组描述符【英文标题】:Ext2: Group Descriptors 【发布时间】:2015-01-29 22:25:08 【问题描述】:

我正在编写一个 Java 程序来浏览并导航到 ext2 文件系统映像。我知道我的 fs 是修订版 1(或更高版本),所以我知道在 0,1 组和 3,5 和 7 的幂中有超级块的副本。我的​​问题是,组描述符在没有超级块的组?有没有?如果有,这是否意味着它在该组的第一个块中?我应该在哪里查找我的第三组中的 inode 表?

我的 fs 有 3 组 (0,1,2),每组 8192 块长,blocksize=1024。

【问题讨论】:

嘿,等一下;你知道环回设备吗?还是您运行的操作系统不支持原生 ext2? 我在 windows7 上工作,所以没有原生支持 嗯,你总是可以使用虚拟机 重点不仅仅是通过 fs,而是要真正编写程序来做,就像在课程作业中一样! 呃,那祝你好运;我希望你像疯了一样使用ByteBuffer 【参考方案1】:

我发现了,所以我将答案留在这里以供将来参考。

事实证明,组描述符块包含每个组的组描述符,一个接一个地添加。组描述符也有 32 字节长度 (http://www.nongnu.org/ext2-doc/ext2.html#BLOCK-GROUP-DESCRIPTOR-TABLE)。所以如果你想要第n组的gd,你应该在Group Descriptor Block里面做n*32。

【讨论】:

以上是关于Ext2:组描述符的主要内容,如果未能解决你的问题,请参考以下文章

ext2文件系统 - mke2fs

创建组指示符 (SQL)

Ext4文件系统fsck后损坏修复方法-linux数据恢复案例

linuxbingc(IO)系统调用文件接口重定向静态库&动态库软硬链接简单文件系统

linuxbingc(IO)系统调用文件接口重定向静态库&动态库软硬链接简单文件系统

编程题字符集合