Se você tiver uma imagem de uma unidade / partição que não pode ser montada, você pode usar o sleuthkit para restaurar os arquivos. Primeiro, você precisará obter a lista dos arquivos dessa imagem:
$ fls -f ext2 -p -r ./image-of-my-drive
| grep -v '^..-' | grep -v '^... *' > files.lst
Este comando lhe dará uma lista de arquivos e seus inodes (supondo que estamos lidando com Ext2 FS). Então você poderá “retore em massa” arquivos com este script:
IMAGE=image-of-my-drive
LIST=./files.lst
DEST=/home/ixti/recovered
cat $LIST | while read line; do
filetype=`echo "$line" | awk {'print $1'}`
filenode=`echo "$line" | awk {'print $2'}`
filenode=${filenode%:}
filename=`echo "$line" | cut -f 2 -d ' '`
if [ $filetype == "r/r" ]; then
echo "$filename"
mkdir -p "`dirname "$DEST/$filename"`"
icat -f ext2 -r -s $IMAGE "$filenode" > "$DEST/$filename"
fi
done
Você também pode restaurar um diretório específico. Basta passar seu inode para o comando fls para obter a lista de arquivos apenas desse diretório.
Isso ajudará a restaurar os arquivos EXISTENTES da imagem de um rive que não pode ser montado normalmente. Mas você pode adotá-lo facilmente para fazer a restauração em massa de arquivos / diretórios removidos, basta ler o manual / wiki do fls sobre sua saída e ajustar o script em lote do icat :))
Relacionado:
http://ixti.net/administration/2012/10/25/mass-restore-files-from-corrupted-media-with-sleuthkit.html