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:组描述符的主要内容,如果未能解决你的问题,请参考以下文章
Ext4文件系统fsck后损坏修复方法-linux数据恢复案例
linuxbingc(IO)系统调用文件接口重定向静态库&动态库软硬链接简单文件系统