Localizar arquivo ou diretório por ID NTFS

4

Digamos que eu receba a seguinte saída de chkdsk :

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

Existe alguma maneira de encontrar o (s) nome (s) desse diretório com o id 403737 e sua localização atual? (e uma pergunta relacionada, qual é o nome correto para esse número "ntfs id"?)

    
por IQAndreas 23.10.2012 / 15:44

2 respostas

6

Supondo que sejam MFT Record numbers , você poderia usar uma ferramenta MS chamada nfi para despejar informações ntfs e então um utilitário como grep ou awk ( precisa ser instalado / não nativo win ) para filtrar apenas os resultados que você está interessado.
nfi pode ser baixado como parte de Mecanismos do OEM

nfi c: |awk "/File 72\r/{c=4;{print}next}c-->0" produz a seguinte saída no meu laptop:

File 72
\WINDOWS\Temp
$STANDARD_INFORMATION (resident)
$FILE_NAME (resident)
$INDEX_ROOT $I30 (resident)

Por favor, esteja ciente de que esta é uma busca linear de 'força bruta', portanto, pode levar muito tempo para encontrar a entrada com um número alto.

    
por 23.10.2012 / 22:32
1

para aqueles que podem pesquisar no google no futuro: Acabei de descobrir que no Linux, pode-se fazer

ntfsls -iaR /dev/sdb1

-i = show inode (ou seja, registro MFT não), -a = exibe todos (não tem idéia do que ele faz, mas não pode prejudicar), -R = recursiva em subdiretórios, / dev / sdb1 é o arquivo do dispositivo de partição ou um arquivo de imagem NTFS.

Isso produz uma lista longa e agradável de arquivos junto com seus números de registro da MFT.

O ntfsls está no pacote ntfsprogs (pelo menos no Fedora.)

Eu queria postar isso sob o comentário acima (onde @iqandreas perguntou especificamente sobre o Linux), mas o site não me deixou

    
por 11.04.2015 / 19:52