【发布时间】:2012-06-09 22:37:48
【问题描述】:
我正在尝试构建一个类似 bash 的脚本,它提供了一些功能,例如 ls、pwd、cat 等。在 linux 系统中的 NTFS 上工作。假设我有一个 NTFS 映像,并使用 fopen 将其作为文件打开。然后,我读取了一些扇区,例如位于 0x0B 的 BPB,并获取了一些有关 NTFS 映像的一般信息。我需要到达根目录指针,然后遍历文件系统以实现这些功能,尤其是对于 ls 和 pwd。我在谷歌上搜索了很多关于 NTFS 的内部细节和偏移量的信息,但我不知道如何实现这个目标。如果没有可理解的文档或示例,我将无法继续前进。
任何帮助、文档、提示、偏移表等将不胜感激。
谢谢。
【问题讨论】:
-
与其重新发明世界,不如获取一份Cygwin 的副本来自 MSDN 和 SysInternals 的 Windows 文件系统内部(包括但不限于 NTFS)。
-
使用
libntfs或ntfsprogs似乎比从头重写它们更容易。你为自己做了很多额外的工作。 -
你不能使用Linux的NTFS文件系统驱动有什么原因吗?
-
大多数现代 Linux 内核都可以原生挂载 NTFS,因此无需编写任何内容。
-
是的,我知道我可以使用高级库或工具来实现这一点。只是我正在尝试熟悉文件系统,并且我已经在 ext3 上完成了相同的项目,我现在完全了解。还是谢谢你。
标签: c filesystems operating-system 64-bit ntfs