【问题标题】:How to read an inode table from an ext2 block group?如何从 ext2 块组中读取 inode 表?
【发布时间】:2011-11-27 05:54:51
【问题描述】:

在为我的爱好操作系统编写 ext2 驱动程序时,我遇到了从块组描述符读取 inode 表的问题。

块组描述符的第三个字段是该组的 inode 表的块 ID。在我的文件系统根目录的情况下,它返回为 64。超级块位于块 1,即卷开头之后的 1024 个字节。块大小是 1024 字节,但我的磁盘扇区大小是 512。所以要访问超级块,我从 lba 2 读取。

问题是当我尝试读取 inode 表时。如果它的块 id 是 64,我的块大小是 1024,磁盘扇区大小是 512,我不会从磁盘扇区 130 读取 inode 表吗?我这样做了,但是什么都没有……

在给定有效块组描述符的情况下,读取 inode 表的正确方法是什么?

【问题讨论】:

    标签: c filesystems driver ext2


    【解决方案1】:

    块组描述符表中的块 ID 都是绝对的,因此块 ID 64 将存储在 LBA 128 和 129 中。

    【讨论】:

    • 呃!我很累,错过了明显的答案。
    猜你喜欢
    • 2020-11-01
    • 2015-01-17
    • 2012-05-23
    • 2011-09-11
    • 1970-01-01
    • 2013-03-09
    • 2014-12-10
    • 2014-10-02
    • 2016-02-01
    相关资源
    最近更新 更多