Existe uma opção simples em extundelete
como posso tentar desfazer a exclusão de um arquivo chamado /var/tmp/test.iso
que acabei de excluir?
(não é tão importante que eu comece a remontar a unidade somente leitura ou coisas assim. também pode baixar aquele arquivo novamente)
Estou procurando um comando simples com o qual eu poderia tentar se conseguir recuperá-lo rapidamente.
Eu sei, é possível com a remontagem da unidade em somente leitura : (consulte Como fazer Eu simplesmente recupero o único arquivo em um disco vazio que acabei de excluir? )
Mas isso também é possível de alguma forma no disco ainda montado?
Para informações:
se o arquivo excluído estiver em uma partição NTFS, é fácil com ntfsundelete
por exemplo se você sabe que o tamanho era de cerca de 250 MB, use
sudo ntfsundelete -S 240m-260m -p 100 /dev/hda2
e depois cancele a exclusão do arquivo inode por exemplo com
sudo ntfsundelete /dev/hda2 --undelete --inodes 8270
Comentários
- Pergunta geral com qualquer utilitário: unix.stackexchange.com/questions/2677/…
- Essa outra questão é muito ampla. Estou procurando uma solução rápida e insegura sem muito esforço (e menos chance de sucesso)
- Não tive a intenção de sugerir duplicidade, mas você pode querer adicioná-la à pergunta por que essa pergunta não foi suficiente .
Resposta
Olhando para o guia de uso em extundelete parece que você está limitado a recuperar arquivos de algumas maneiras.
Restaurando todos
extundelete é projetado para recuperar arquivos de uma partição desmontada para uma partição separada (montada). extundelete irá restaurar todos os arquivos que encontrar em um subdiretório do diretório atual denominado “RECOVERED_FILES”. Para executar o programa, digite “extundelete –help” para ver várias opções disponíveis para você.
O uso típico para restaurar todos os arquivos excluídos de uma partição é assim:
$ extundelete /dev/sda4 --restore-all
Restaurando um único arquivo
Além deste método destacado no uso da linha de comando:
--restore-file path/to/deleted/file Attemps to restore the file which was deleted at the given filename, called as "--restore-file dirname/filename".
Portanto, você deve ser capaz de realizar o que deseja fazendo:
$ extundelete --restore-file /var/tmp/test.iso /dev/sda4
NOTA: Em ambos os casos, você precisa conhecer o dispositivo, /dev/sda4
para executar este comando. Você terá que remontar o sistema de arquivos como somente leitura. Esta é uma das condições de uso de extundelete
e não há como contornar isso.
Comentários
- sim, mas tudo isso só funciona, se eu remontar a unidade somente leitura
- @ rubo77 – correto, não há ' Não há como contornar isso.
- Isso realmente funcionou para mim em um sistema de arquivos ext4 sem remontá-lo somente leitura. Se você tentar fazer isso sem remontar r / o, receberá um aviso que parece estar apenas dizendo que sua probabilidade de sucesso é menor se você fizer isso. Se ' for realmente super vital recuperar o arquivo, então parece que você deve fazer isso.
- Como @BenCrowell I ' Já usei sem remontar, mas o programa me avisa sobre corrupção de dados se eu continuar usando o hdd … foi um apagamento recente, então eu apenas pressiono Enter e recebo meus arquivos de volta;)
Resposta
O cenário de uso típico ao recuperar todos os arquivos inclui a necessidade de restaurar todos os arquivos excluídos de /dev/sdX1
durante aproximadamente a última hora:
mount -o remount,ro /dev/sdX1 extundelete --restore-all --after $(date -d "-2 hours" +%s) /dev/sdX1 find RECOVERED_FILES/
Se estiver satisfeito com os arquivos recuperados:
mount -o remount,rw /dev/sdX1
Comentários
- montagem: você deve especificar o tipo de sistema de arquivos
- remount espera o ponto de montagem como argumento e não o dispositivo
- @Don ' tYouWorryChild
mount -o
leva dir ou dispositivo, conformeman mount
- Em vez de subtrair 2 horas fr om data que você pode fazer
$(date -d "-2 hours" +%s)
e a saída delsblk -p
pode ser útil para encontrar onde o volume EXT4 armazenado em cache LVM criptografado por LUKS está localizado. 😉 - Observe que o diretório de destino será relativo a
$PWD
que eu não ' acho que não está claramente definido nas páginas de manual.
Resposta
extundelete não funcionou para mim, mas ext4magic sim.
Comentários
- Você pode fornecer um exemplo de como recuperar um arquivo
- Até que alguém possa adicionar instruções, isso é útil: gist.github.com / ebautistabar / cca12863e6335d08a019f015f53fac4a
- Parece que consigo me recuperar muito mais com
extundelete
. Mas cada um com o seu.