Para cada inode que você queira recuperar, você
precisa setar o link count para 1 e setar o deletion para 0.
Você faz isso usando o 'mi', um comando do debugfs. Veja
o exemplo para o inode 148003.
debugfs: mi <148003>
Mode [0100644]
User ID [503]
Group ID [100]
Size [6065]
Creation time [833201524]
Modification time [832708049]
Access time [826012887]
Deletion time [833201524] 0
Link count [0] 1
Block count [12]
File flags [0x0]
Reserved1 [0]
File acl [0]
Directory acl [0]
Fragment address [0]
Fragment number [0]
Fragment size [0]
Direct Block #0 [594810]
Direct Block #1 [594811]
Direct Block #2 [594814]
Direct Block #3 [594815]
Direct Block #4 [594816]
Direct Block #5 [594817]
Direct Block #6 [0]
Direct Block #7 [0]
Direct Block #8 [0]
Direct Block #9 [0]
Direct Block #10 [0]
Direct Block #11 [0]
Indirect Block [0]
Double Indirect Block [0]
Triple Indirect Block [0]
Mude o Link Count para 1 o Deletion time para 0, e aperte
enter para os outros campos. Isso é pouco usual se
você possui muitos arquivos para recuperar. Após
fazer essas mudanças, você precisa executar:
# e2fsck -f /dev/hda5
Assim os inodes agora modificados precisam reaparecer, e
eles reapareceram no diretório /lost+found da sua
particação. Provavelmente o e2fsck irá mostrar
algumas informações de danos e etc, responda yes
para todas.
Conclusão
Esse texto teve diversas referências, mas sobretudo o
documento (Ext2fs-Undeletion) escrito por Aaron Crane.
Isso é tudo pessoal, qualquer dúvida entrem em
contato!