Como eu sei, é muito difícil recuperar um arquivo excluído, mas tente este
em 2005 eu uso essa ferramenta na partição ext3 e recupero muitos arquivos. Claro fazer um backup antes de usar isso e lembrar não é garantia de 100% para recuperar arquivos
Eu acidentalmente usei incorretamente o comando cp
e sobrei o conteúdo de um arquivo em um sistema de arquivos ext4. Existe alguma maneira que eu possa recuperar o conteúdo desse arquivo antigo e possivelmente seus metadados (ou seja, o último tempo de gravação, etc)?
Estou ciente de que mv
libera blocos para movimentos, mas o mesmo se aplica a uma operação de cópia por atacado?
Como eu sei, é muito difícil recuperar um arquivo excluído, mas tente este
em 2005 eu uso essa ferramenta na partição ext3 e recupero muitos arquivos. Claro fazer um backup antes de usar isso e lembrar não é garantia de 100% para recuperar arquivos
Exemplo de sessão em um sistema de arquivos ext4:
Crie dois arquivos a, b com o tamanho especificado:
# dd if=/dev/urandom of=a bs=1282 count=1
1+0 records in
1+0 records out
1282 bytes (1.3 kB) copied, 0.000647314 s, 2.0 MB/s
# dd if=/dev/urandom of=b bs=3247 count=1
1+0 records in
1+0 records out
3247 bytes (3.2 kB) copied, 0.00106112 s, 3.1 MB/s
Verifique onde está alocado fisicamente:
# filefrag -sve a
Filesystem type is: ef53
File size of a is 1282 (1 block of 4096 bytes)
ext: logical_offset: physical_offset: length: expected: flags:
0: 0.. 0: 32833.. 32833: 1: last,eof
a: 1 extent found
Copie b para a, "sobrescrevendo" a. (Saída encurtada.)
# strace cp b a
open("a", O_WRONLY|O_TRUNC) = 4
write(4, "CX60x01pP601~,2\"120y7_S422\v\t"..., 3247) = 3247
Verifique onde está localizado fisicamente após cp:
# filefrag -sve a
Filesystem type is: ef53
File size of a is 3247 (1 block of 4096 bytes)
ext: logical_offset: physical_offset: length: expected: flags:
0: 0.. 0: 33280.. 33280: 1: last,eof
a: 1 extent found
Observe a localização alterada de 32833
para 33280
. O que significa que os dados originais provavelmente ainda estão em 32833
- neste exemplo.
O que aconteceu é que cp
trunca o arquivo de saída assim, por um momento, é um arquivo de 0 bytes. Isso é quase o mesmo que excluí-lo, exceto que reutiliza o inode. Escrevendo para esse arquivo aloca de qualquer lugar no espaço livre, que pode estar em outro lugar como o arquivo antigo costumava ser.
Portanto, pode haver uma chance de recuperação se você souber alguma parte do conteúdo do arquivo para poder localizá-lo nos dados brutos. Isso é o que o photorec
faz, mas apenas para tipos de arquivos conhecidos com cabeçalhos distintos. extundelete
provavelmente não ajudará, pois o inode do arquivo não foi realmente excluído, apenas foi reutilizado para o novo arquivo.
Tags data-recovery