4

Скажем, я получаю следующий вывод из chkdsk:

Deleted invalid filename Flatland: A Romance of Many Dimensions (88216) in directory 403737.

Есть ли способ найти имя (имена) этого каталога с идентификатором 403737 и его текущее местоположение? (и связанный вопрос, каково правильное имя для этого номера "ntfs id"?)

2 ответа2

6

Предполагая, что это номера записей MFT, вы можете использовать инструмент MS с именем nfi для вывода информации ntfs, а затем утилиту, такую как grep или awk (должна быть установлена / не является родной win), чтобы отфильтровать только интересующие вас результаты.
nfi можно загрузить как часть инструментов OEM

nfi c: |awk "/File 72\r/{c=4;{print}next}c-->0" выдает следующий вывод на моем ноутбуке:

Файл 72
\WINDOWS \Temp
$ STANDARD_INFORMATION (резидент)
$ FILE_NAME (резидент)
$ INDEX_ROOT $ I30 (резидент)

Помните, что это линейный поиск методом «грубой силы», поэтому поиск записи с большим номером может занять много времени.

1

для тех, кто может гуглить это в будущем: я только что узнал, что в Linux можно сделать

ntfsls -iaR /dev/sdb1

-i = показать inode (т. е. номер записи MFT), -a = показать все (понятия не имею, что он делает, но не может нанести вред), -R = вернуться в подкаталоги, /dev/sdb1 - это файл устройства раздела или файл образа NTFS.

Это приводит к хорошему длинному списку файлов, а также к номерам их записей MFT.

ntfsls находится в пакете ntfsprogs (по крайней мере, в Fedora.)

Я хотел опубликовать это под комментарием выше (где @iqandreas спросил конкретно о Linux), но сайт не позволил мне

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .