Как я могу получить номер (номера) блока определенного файла в файловой системе (блоки, которые файл использует на harddisc)?
Я использую хинду Linux, базирующийся SystemRescueCD, таким образом, я получил много инструментов, установленных, который мог бы получить ту информацию для меня.
С уважением
При рассмотрении Linux с ext2, ext3 или (вероятно) ext4, Вы хотите e2fsprogs, конкретно debugfs
программа.
Для NTFS и FAT32, может быть основанный на Linux utils, который предоставит ту информацию, но Вы могли бы также изучить Windows Defragmentation API, но там, кажется, мало информации об этом. Обертки Jeffrey Wall C# для API дефрагментации Windows могли бы быть хорошим местом для запуска, и форумы MyDefrag могли бы также иметь некоторую информацию использования.
Быстрые дополнительные примечания:
если Вы работаете над NTFS и можете выполнить это в Windows, командой, которую Вы хотите, является DeviceIoControl, передавая код управления FSCTL_GET_RETRIEVAL_POINTERS. Больше информации о дефрагментации и API в Дефрагментирующихся Файлах (Windows).
Вот забавная небольшая пошаговая демонстрация разыскивания вещей на разделе NTFS с помощью Hex-редактора, шестнадцатеричного калькулятора, обильное свободное время и некоторое определение: Шестнадцатеричное Редактирование Ваш путь через объем от людей в проекте Linux-NTFS.