Se o arquivo não tinha mais que 12 blocos de tamanho, então os números dos blocos de todos os seus dados estão armazenados no inode: pode-se lê-los diretamente da saída stat do inode. Além disso, debugfs tem um comando que desempenha esta tarefa automaticamente. Para exemplificar o que tivemos antes, repetimos aqui:
Este arquivo tem seis blocos (veja o campo BLOCKS). Uma vez que ele é menor que o limite de 12, usaremos debugfs para escrever o arquivo em um novo local, chamando-o de /mnt/recuperado.000:
Naturalmente que isto também pode ser feito com fsgrab, no seguinte formato:
Tanto com debugfs ou fsgrab, haverá algum lixo no final de /mnt/recuperado.000, porém isso não é importante. Caso se queira livrar-se dele, o método mais simples é verificar o campo Size do inode e utilizá-lo na opção bs em uma linha de comando dd:
Claro que é possível que um ou mais dos blocos que compunham o arquivo tenham sido sobrescritos. Se isso aconteceu, então você está sem sorte pois o bloco se foi para sempre (Mas só pense se você tivesse desmontado mais cedo!).