如何检索文件系统中某个文件的块号(该文件在硬盘上使用的块)?
我正在使用基于 gentoo linux 的 SystemRescueCD,因此我安装了许多可以为我获取该信息的工具。
此致
答案1
如果你正在考虑使用 ext2、ext3 或(可能)ext4 的 Linux,那么你需要e2fsprogs,特别是该debugfs
计划。
对于 NTFS 和 FAT32,可能有基于 Linux 的实用程序可以提供该信息,但您也可以查看 Windows 碎片整理 API,但似乎关于它的信息很少。Jeffrey Wall 的 Windows 碎片整理 API 的 C# 包装器可能是一个很好的起点,碎片整理论坛可能也有一些有用的信息。
快速补充说明:
如果你在 NTFS 上工作并且可以在 Windows 中运行它,你需要的命令是 DeviceIoControl,传递FSCTL_GET_RETRIEVAL_POINTERS 控制代码. 有关碎片整理和 API 的更多信息,请参阅整理文件碎片 (Windows)。
下面是一个有趣的小演示,使用十六进制编辑器、十六进制计算器、充足的空闲时间和一些决心,在 NTFS 分区上追踪事物:通过十六进制编辑来编辑卷来自Linux-NTFS 项目。