O link que alguém forneceu nos comentários é provavelmente sua melhor chance.
Linux debugfs Hack: arquivos Undelete
Esse write-up, embora parecendo um pouco intimidante, é realmente bastante simples de seguir. Em geral, os passos são os seguintes:
-
Use o debugfs para visualizar um log de sistemas de arquivos
$ debugfs -w /dev/mapper/wks01-root
-
No prompt do debugfs
debugfs: lsdel
-
Exemplo de saída
Inode Owner Mode Size Blocks Time deleted 23601299 0 120777 3 1/ 1 Tue Mar 13 16:17:30 2012 7536655 0 120777 3 1/ 1 Tue May 1 06:21:22 2012 2 deleted inodes found.
-
Execute o comando em debugfs
debugfs: logdump -i <7536655>
-
Determine arquivos inode
... ... .... output truncated Fast_link_dest: bin Blocks: (0+1): 7235938 FS block 7536642 logged at sequence 38402086, journal block 26711 (inode block for inode 7536655): Inode: 7536655 Type: symlink Mode: 0777 Flags: 0x0 Generation: 3532221116 User: 0 Group: 0 Size: 3 File ACL: 0 Directory ACL: 0 Links: 0 Blockcount: 0 Fragment: Address: 0 Number: 0 Size: 0 ctime: 0x4f9fc732 -- Tue May 1 06:21:22 2012 atime: 0x4f9fc730 -- Tue May 1 06:21:20 2012 mtime: 0x4f9fc72f -- Tue May 1 06:21:19 2012 dtime: 0x4f9fc732 -- Tue May 1 06:21:22 2012 Fast_link_dest: bin Blocks: (0+1): 7235938 No magic number at block 28053: end of journal.
-
Com as informações de inode acima, execute os seguintes comandos
# dd if=/dev/mapper/wks01-root of=recovered.file.001 bs=4096 count=1 skip=7235938 # file recovered.file.001 file: ASCII text, with very long lines
Arquivos recuperados para recovered.file.001
.
Outras opções
Se o acima não for para você, usei ferramentas como photorec
para recuperar arquivos no passado, mas ele é voltado apenas para arquivos de imagem. Eu escrevi sobre esse método extensivamente no meu blog neste artigo intitulado: