1

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

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

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

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

4

1 回答 1

1

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

于 2011-09-29T05:17:57.643 回答