No Windows arquivado, os arquivos excluídos podem ser encontrados no lixo se você não pressionar Shift ,
E os arquivos excluídos rm -fno linux
No Windows arquivado, os arquivos excluídos podem ser encontrados no lixo se você não pressionar Shift ,
E os arquivos excluídos rm -fno linux
Respostas:
A primeira coisa a lembrar é: pare de executar outras atividades de gravação no sistema de arquivos.
Em seguida, você pode tentar algumas ferramentas que analisarão o sistema de arquivos e tentar localizar dados no nó excluído. ' extundelete' é uma dessas ferramentas no sourceforge.
extundelete é um utilitário que pode recuperar arquivos excluídos de uma partição ext3 ou ext4 . O sistema de arquivos ext3 é o sistema de arquivos mais comum ao usar Linux, e o ext4 é seu sucessor. extundelete usa as informações armazenadas no diário da partição para tentar recuperar um arquivo que foi excluído da partição. Não há garantia de que um arquivo específico possa ser recuperado; portanto, tente sempre ter um bom sistema de backup ou, pelo menos, instalá-lo depois de recuperar seus arquivos!
O primeiro passo seria tentar uma ferramenta de exclusão para o sistema de arquivos usado em sua unidade raiz.
Como mencionado, ext3grep e extundelete são as ferramentas para a família de sistemas ext.
Outra opção, dependendo do tipo de arquivo que está tentando recuperar, é executar um escultor de arquivos na unidade. Isso levará mais tempo que os utilitários acima.
Acima de tudo, é uma opção que usei para isso.
A opção final, se você souber de uma determinada sequência de caracteres no arquivo, é abrir a unidade em um editor hexadecimal e procurar essa sequência.
Dependendo da configuração, o gerenciador de janelas pode fornecer uma lixeira / lixeira.
No final do dia, não há absolutamente nenhum substituto para ter uma boa configuração do sistema de backup. Encontre um que faça seu trabalho sem você tocá-lo e configure-o. Você economizará muito tempo, problemas e dores a longo prazo.
Vou tentar este, ext3grep:
http://www.xs4all.nl/~carlo17/howto/undelete_ext3.html
Você precisa desmontar a partição antes de iniciar.
HTH
Como undelete_ext3 parece ter desaparecido, aqui está um humilde script bash, que me ajudou a recuperar alguns arquivos que eram impossíveis de obter usando extundelete ou debugfs . Solução compartilhada.
Você pode apresentar uma lista de blocos para visualizar, veja PRESEED. É preciso um número de bloco por linha. Se você não preseed, todos os blocos serão pesquisados, o padrão.
Como você provavelmente terá um caso de uso diferente, isso poderá fornecer um quadro para basear sua própria filtragem. Definitivamente, você precisará ajustar os valores ao procurar outros tipos de arquivos.
Chamada de amostra: ./ext-undelete-tar-gz.sh devimage found_files/
#!/bin/bash
# Brute force (linear) search specific tar files with
# certain contents on ext2 / ext3 / ext4 devices or files
#
# .. this is a last resort if extundelete and/or debugfs
# did not find what you were looking for and limited
# in that recoverable data must not have been stored
# in fragments, i.e. non-sequentially
[[ -n "$2" ]] || {
echo "usage: $0 [ device | imagefile ] "\
"[ destdir_for_recovered_data ] "\
"[ max_blocks_to_search (optional) ]"
exit 1
}
IMG=$1
DEST=$2
TMP=/dev/shm/cand.tmp
PRESEED=/dev/shm/cand.list
GZMAGIC=$(echo -e "\x1f\x8b\x08")
TARMAGIC=$(echo -e "ustar")
# max bytes to read into $TMP when a .tar.gz has been found
LEN=$((160*1024))
# pick $TMP for recovery based on matched strings..
FILE_IN_TAR="debian/rules" # ..in the tar index (suffix-search)
FIT_CONTENT="link-doc=" # ..within FILE_IN_TAR matches
# determine FS parameters
BLOCKS=$(tune2fs -l $IMG | grep -Po "(?<=^Block count:).*" | xargs)
BS=$(tune2fs -l $IMG | grep -Po "(?<=^Block size:).*" | xargs)
LEN=$((LEN/BS))
function _dd { dd $@ 2>/dev/null ; }
function _gunzip { gunzip $@ 2>/dev/null ; }
function _tar { tar $@ 2>/dev/null ; }
function inspect_block {
bnum=$1
if _dd if="$IMG" skip=$bnum bs=$BS count=1 | tee "$TMP" \
| _dd bs=1 count=3 \
| grep -qF "$GZMAGIC"
then
if _gunzip -c "$TMP" \
| _dd bs=1 count=5 skip=257 \
| grep -qF "$TARMAGIC"
then
_dd if="$IMG" skip=$((bnum+1)) bs=$BS count=$((LEN-1)) >> "$TMP"
echo -n found $bnum.tar.gz
if _tar xzf "$TMP" -O --wildcards *"$FILE_IN_TAR" \
| grep -qF "$FIT_CONTENT"
then
echo " ..picked, stripping trailing garbage:"
exec 3>&1
gunzip -c "$TMP" 2>&3 | gzip > $DEST/$bnum.tar.gz
exec 3>&-
else
echo
fi
fi
fi
echo -ne "$((bnum+1)) / $BLOCKS done.\r" >&2
}
if [[ -f "$PRESEED" ]]
then
while read bnum
do inspect_block $bnum
done <"$PRESEED"
else
for (( bnum = 0 ; bnum < ${3:-$BLOCKS} ; bnum++ ))
do inspect_block $bnum
done
fi | gzip >"$PRESEED.log.gz"
echo
rmDesvincula o (s) nó (s) associado (s) ao arquivo.