Como recuperar arquivos apagados no Linux com testdisk

Conteúdo

Uma ilustração de uma janela de terminal em um computador Linux.

Você já excluiu um arquivo e se arrependeu instantaneamente? Você precisa disso de volta, e rápido! Mas, E se o arquivo for tão novo que ainda não foi feito o backup? Por sorte, pode haver algo que você possa fazer sobre isso.

rm: Sem remorso?

É muito fácil usar o rm comando e você se vê olhando para uma janela de terminal com um sentimento de arrependimento cada vez mais profundo. Um pequeno bug com curingas e você pode remover muito mais do que pretendia.

Sistema de arquivos padrão do Linux, ext4 usa inodes para salvar dados sobre cada arquivo e uma tabela de inodes para acompanhar os inodes. O inode contém metadados sobre o arquivo, como seu nome, quem é o dono, quais são as permissões, etc.

Ele também contém pontos de entrada para links físicos que apontam para o arquivo. Cada arquivo tem pelo menos um link físico. Cada vez que você cria um novo hard link, contagem de hard link aumenta em um. Cada vez que você exclui um link físico, a contagem do link físico no inode é reduzida em um.

Quando você apaga um arquivo que o inode marcou como não usado (e pronto para reutilização), o último link físico foi removido. Quando isso acontece, o arquivo não aparecerá na lista de diretórios e não pode ser acessado ou usado.

Apesar disto, os dados que compõem o conteúdo do arquivo ainda estão presentes no disco rígido. Apesar disto, se eu pudesse corrigir o inode para conter as informações corretas, o arquivo seria restaurado. Decididamente, isso só funcionaria se os dados que compõem o arquivo no disco rígido permanecessem intactos e não fossem sobrescritos.

alternativamente, pode criar um novo inode, copie os dados sobreviventes do inode antigo e depois substitua os bits que faltam.

Essas são atividades não triviais. Em geral, quando você apaga um arquivo por engano, está na pior hora possível. É sempre quando você precisa desse arquivo e precisa agora. Sem tempo para mexer com editores do setor e outros utilitários. Ao mesmo tempo, se for um arquivo que você acabou de criar, um backup provavelmente ainda não foi feito, então eles não vão te ajudar também.

Aqui onde testdisk entre. É fácil de usar e não requer conhecimento detalhado e de baixo nível do sistema de arquivos. Vamos dar uma olhada em como usá-lo!!

RELACIONADO: Tudo o que você sempre quis saber sobre inodes no Linux

Instalação de testdisk

Instalar testdisk no Ubuntu, use este comando:

sudo apt-get install testdisk

No Fedora, deve escrever:

sudo dnf install testdisk

Em manjaro, você deve usar pacman:

sudo pacman -Sy testdisk

Usando testdisk

Mesmo quando executado em uma janela de terminal, testdisk tem uma interface rudimentar. Use as setas do teclado para navegar e Enter para fazer uma seleção. Para manter as coisas em ordem, é melhor criar um diretório para os arquivos restaurados.

Digitamos o seguinte para criar um diretório chamado “Digitamos o seguinte para criar um diretório chamado” Digitamos o seguinte para criar um diretório chamado:

mkdir restaurado

Escrevemos o seguinte para mudar para o novo diretório e começar testdisk desde ali:

cd restaurado /

Temos que usar sudo com testdisk, então escrevemos o seguinte:

sudo testdisk

A primeira pergunta testdisk pergunta sobre registro. Você pode criar um novo arquivo de log, usar um existente ou não registrar nada. Não importa qual opção você escolher; não afetará o caminho testdisk ópera.

Você pode simplesmente pressionar Enter para aceitar a opção destacada e criar um novo arquivo de log. Será criado no diretório de onde começou. testdisk. Quando você faz sua seleção, testdisk pergunta qual disco rígido contém o sistema de arquivos com o qual deseja trabalhar.

Liste os discos rígidos que você pode encontrar, assim como o squashfs Arquivos “/ dev / ciclo". Haverá um desses para cada aplicativo que você instalou a partir de um snap. Eles são somente leitura, então não deveria ter conseguido apagar nada desses sistemas de arquivos.

Existe apenas um disco rígido físico neste computador de teste, então usamos a seta para baixo para destacar a opção "/ dev / sda ”. Digitamos o seguinte para criar um diretório chamado “Prosseguir” Digitamos o seguinte para criar um diretório chamado.

testdisk você também precisa saber o tipo de partição. Apresente um menu de alternativas, junto com o tipo de partição que é detectado automaticamente na parte inferior.

A menos que você tenha uma boa razão para não, realce o tipo de partição que foi detectado automaticamente e pressione Enter.

No menu de funções que aparece, selecione "Avançado" e pressione Enter.

O menu de seleção de partição aparecerá.

Os arquivos que procuramos estão na partição do sistema de arquivos do Linux. Só temos uma partição Linux em nosso disco rígido, mas é possível que tenha mais.

Selecione a partição onde seus arquivos estavam, Digitamos o seguinte para criar um diretório chamado “no canto superior direito para criar um novo atalho” e pressione Enter. O menu de seleção de arquivo aparecerá.

Use as setas para cima e para baixo ou as teclas PgUp e PgDn para navegar na lista de arquivos e diretórios. Pressione a seta para a direita ou Enter para entrar em um diretório e a seta para a esquerda ou Esc para sair de um diretório.

Procuramos arquivos que pertencem a dave. Digitamos o seguinte para criar um diretório chamado “Começo”. Então, Digitamos o seguinte para criar um diretório chamado “Começo”, e mais tarde podemos pressionar a seta para a direita ou Enter para entrar nesse diretório.

A seguir, todas as contas de usuário são listadas. Destacamos davee pressione a seta para a direita ou Enter para entrar nesse diretório.

Agora podemos ver os arquivos que pertencem ao dave conta. As entradas em vermelho foram removidas. Navegamos pelos arquivos e diretórios até localizar os arquivos que queremos recuperar.

Para recuperar um arquivo, apenas realce-o e pressione c (minúsculas).

A tela muda e solicita que você escolha um destino para o arquivo recuperado. Digitamos o seguinte para criar um diretório chamado “Digitamos o seguinte para criar um diretório chamado” Digitamos o seguinte para criar um diretório chamado testdisk dele, a primeira entrada na lista (.) é aquele diretório. Para recuperar este arquivo excluído para aquele diretório, nós pressionamos C (letras maiúsculas).

Depois de fazer isso, você retornará à tela de seleção de arquivo. Se você quiser recuperar mais arquivos, apenas repita o procedimento. Destacar um arquivo excluído, pressione c (minúsculas) para copiá-lo e pressione C (letra maiúscula) para pegar de volta.

Trabalhe com arquivos restaurados

Depois de restaurar um arquivo, a árvore de diretórios é reconstruída em seu local original, o que é útil porque lembra onde no disco rígido o arquivo original costumava residir. Isso significa que se você precisar copiá-lo, você já sabe onde colocá-lo.

Se você recuperar vários arquivos de diferentes locais do sistema de arquivos que têm o mesmo nome de arquivo, deve ser armazenado separadamente de qualquer maneira.

Digitamos o seguinte para criar um diretório chamado “Digitamos o seguinte para criar um diretório chamado”:

ls

Se você perguntou testdisk para criar um arquivo de log, Digitamos o seguinte para criar um diretório chamado “Digitamos o seguinte para criar um diretório chamado”. Digitamos o seguinte para criar um diretório chamado “/ casa / Dave”, Digitamos o seguinte para criar um diretório chamado “Digitamos o seguinte para criar um diretório chamado”, aninhado em diretórios com o mesmo nome.

Digitamos o seguinte para criar um diretório chamado “Dave” Digitamos o seguinte para criar um diretório chamado cd. Certifique-se de não incluir uma barra inclinada para a frente (/) na rota: Digitamos o seguinte para criar um diretório chamado “Digitamos o seguinte para criar um diretório chamado” local, Digitamos o seguinte para criar um diretório chamado “/ Digitamos o seguinte para criar um diretório chamado”.

Nós escrevemos o seguinte:

cd home / dave

Os arquivos recuperados estão nesse diretório, portanto nós escrevemos:

ls

Vamos dar uma outra olhada nos arquivos recuperados usando o -l (Lista longa) opção:

ls -l

Porque usamos sudo para almoçar testdisk, Digitamos o seguinte para criar um diretório chamado “raiz” Digitamos o seguinte para criar um diretório chamado. Digitamos o seguinte para criar um diretório chamado “Dave” usando chown:

sudo chown dave.dave *

Escrevemos o seguinte para garantir que a propriedade correta foi restaurada:

ls -l

disco de teste: Código de alívio

Aquela sensação de alívio após recuperar um arquivo importante que, faz um momento, ele se sentiu desesperadamente perdido, é algo que você sempre apreciará.

Isso é por que testdisk é um utilitário tão útil. Depois de percorrer os menus e começar a restaurar arquivos, é fácil cair em uma batida de destaque, c, C, repetir.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.