What works listing blocks on all disks independent from file systems? (low-level). And what works with FAT and NTFS?
O número do LBA e a detecção de bloqueio incorreto são totalmente independentes do sistema de arquivos. Encontrar arquivos é completamente dependente do sistema de arquivos. Não espere que uma única ferramenta funcione para todos os sistemas de arquivos.
Você pode usar badblocks
para procurar por blocos defeituosos, você pode usar smartctl
para obter o (s) LBA de blocos realocados ou blocos defeituosos detectados pelo firmware do disco rígido, e você pode usar fdisk
etc. você deseja calcular entre números relativos à partição (se você fez, por exemplo, badblocks /dev/sda1
e LBAs.
Como mencionado na outra resposta, você pode encontrar os arquivos afetados para ext2 / ext3 / ext3 com debugfs
.
Você pode usar o fibmap ioctl para encontrar o LBA do n-ésimo bloco de um determinado arquivo para todos os sistemas de arquivos, mas se você quiser encontrar o arquivo para um determinado LBA, isso provavelmente não é prático. Há também filefrag
, que provavelmente usa esse ioctl.
Tenho certeza de que existem ferramentas forenses para o FAT (e possivelmente até mesmo para o NTFS) que localizam um arquivo para um determinado número de bloco, mas não consegui nomear nenhuma palavra.
Editar
Googling encontra fatcat para análise forense de sistemas de arquivos FAT; parece que com -L
você pode obter um arquivo para um cluster específico (que você pode calcular a partir do LBA). Eu não tenho experiência com este programa. Pesquisando mais, provavelmente, aparecerão mais programas desse tipo.