Recuperar arquivos excluídos no Linux com debugfs e uma alternativa

Como recuperar arquivos usando o debugfs no Linux

Descubra como usar o debugfs no Linux para recuperar arquivos excluídos e aproveite todo o seu potencial. Este guia aborda o acesso às informações do inode do arquivo e a recuperação de dados perdidos.

Teste Grátis Teste Grátis

Você acidentalmente excluiu arquivos importantes em seu sistema Linux e está procurando uma forma de recuperá-los? Não procure mais, pois este guia mostrará como usar o debugfs para recuperar arquivos excluídos no Linux. A ferramenta debugfs permite que os usuários acessem as informações de inode e estruturas de dados de um sistema de arquivos, sendo uma ferramenta poderosa para recuperação de arquivos.

Parte 1. O que é o debugfs?

O Debugfs é um poderoso utilitário de depuração no sistema operacional Linux que fornece uma maneira de acessar as estruturas de dados internas de um sistema de arquivos e informações de inode. Os desenvolvedores do kernel costumam usá-lo para executar tarefas como recuperação de arquivos e recuperação de dados.

recuperação de arquivos com debugfs no linux

O Debugfs possui algumas características que o tornam uma ferramenta útil para gerenciar sistemas de arquivos. Ele fornece uma interface simples baseada em RAM para acessar informações do sistema de arquivos e permite que os usuários manipulem as estruturas de dados do inode e realizem a recuperação de arquivos deletados. O Debugfs também oferece muitas outras funções, como exibir estatísticas do sistema de arquivos e mais.

Parte 2. Como usar o debugfs

No ambiente Linux Kernel, debugfs é um sistema de arquivos amplamente adotado para drivers e subsistemas. Ao contrário de outros sistemas de arquivos, o conteúdo dos arquivos debugfs é gerado pelo kernel e é específico para cada driver ou subsistema. Ao desenvolver novos drivers, debugfs são favorecidos em vez de instruções printk, pois fornecem um processo mais simplificado para habilitar/desabilitar e uma interface padronizada.

Pré-requisitos

Suponha que o kernel seja construído com as seguintes opções de configuração:

CONFIG_DEBUG_FS=y

Montando debugfs

O processo é semelhante a outros sistemas de arquivos virtuais usando o comando mount. Para montar o sistema de arquivos debugfs:

Passo 1: Crie um ponto de montagem. O padrão é /sys/kernel/debug/; pode já estar presente.

# mkdir /sys/kernel/debug

Passo 2: Monte debugfs usando o comando mount:

# mount -t debugfs none /sys/kernel/debug

Passo 3: Utilize o comando cat para visualizar o conteúdo do sistema de arquivos:

# cat /sys/kernel/debug/gpio
GPIOs 32-63, A:
[ds5] GPIOA6: [gpio] set
[ds1] GPIOA9: [gpio] clear
[sda] GPIOA23: [gpio] set
[scl] GPIOA24: [gpio] set
[Button 3] GPIOA30: [gpio] set
[Button 4] GPIOA31: [gpio] set

GPIOs 64-95, B:

GPIOs 96-127, C:
[udc_vbus] GPIOC5: [gpio] set
[nand_rdy] GPIOC13: [gpio] set
[nand_enable] GPIOC14: [gpio] set

Adicionando suporte debugfs a um driver

A API debugfs pode ser encontrada nos arquivos fonte do kernel, fs/debugfs/inode.c e fs/debugfs/file.c. Para criar arquivos debugfs para um driver ou subsistema, siga estes três passos:

  • Determine a estrutura do diretório.
  • Desenvolva funções de operação de arquivo para cada arquivo.
  • Registre os arquivos com o sistema de arquivos debugfs.

Parte 3. Como recuperar arquivos excluídos usando o debugfs no Linux?

O processo é direto.

Passo 1: Crie um arquivo de texto (data.txt) e digite:

echo 'Testo aqui' > data.txt

Passo 2: Para exibir o número do inode de data.txt, digite o comando:

ls -li data.txt

Passo 3: Ele fornece uma saída. Aqui está um exemplo:

7536648 -rw-r--r-- 1 root root 15 May 3 12:40 data.txt

Anote o número do inode.

Passo 4: Suponha que o sistema de arquivos esteja em /dev/sda2, digite o comando

# debugfs -w /dev/sda2

OU

Se o sistema de arquivos for /dev/mapper/wks01-root, digite o comando:

# debugfs -w /dev/mapper/wks01-root

Depois de um tempo, você receberá o seguinte prompt:

debugfs 1.41.12 (17-May-2010)
debugfs:

Digite o comando abaixo para obter o bloco de dados

debugfs: logdump -i <7536648>

Você receberá novamente uma saída. Anote os blocos. Ex.: (0+1): linha 7559168

Passo 5. Use o seguinte comando para remover o arquivo data.txt

rm data.txt
ls data.txt

Você receberá uma saída como abaixo

ls: Não é possível acessar data.txt: arquivo ou diretório inexistente.

Passo 6: Para recuperar o arquivo, digite o seguinte comando:

# dd if=/dev/mapper/wks01-root of=data.txt bs=4096 count=1 skip=7559168

Passo 7: Confirme se os dados foram recuperados.

cat data.txt

Por fim, você receberá uma saída como:

Isto é um teste

Parte 4. A melhor alternativa ao debugfs para recuperar arquivos excluídos do Linux

O Debugfs é uma ferramenta poderosa no ambiente Linux; no entanto, ela tem algumas limitações que precisam ser consideradas ao decidir se deve usá-la para uma determinada tarefa. Primeiro, seu objetivo principal é depurar e pode não ser adequada para todos os casos de uso.

Além disso, a funcionalidade do debugfs pode ser complexa e desafiadora para usuários com conhecimento técnico limitado. No entanto, você pode experimentar a ferramenta Wondershare Recoverit Linux Recovery, pois é fácil de usar e possui vários recursos de recuperação de dados.

Wondershare Recoverit - seu software de recuperação do Linux seguro e confiável

Mais de 5.481.435 de pessoas já baixaram.

Recupera documentos, fotos, vídeos, músicas, e-mails e outros mais de 1.000 tipos de arquivos perdidos ou excluídos de forma eficaz, segura e completa.

Compatível com todas as principais distribuições Linux, incluindo Ubuntu, Linux Mint, Debian, Fedora, Solus, Opensuse, Manjaro, etc.

Auxilia em mais de 500 cenários de perda de dados, como exclusão, formatação de disco, queda de energia, ataque de vírus, partição perdida e muito mais.

Funciona através de uma conexão remota. Você pode obter dados de volta mesmo quando seu computador Linux está travando.

Para usar esta alternativa ao debugfs para recuperar arquivos excluídos, siga estes passos:

Teste Grátis

Para Windows XP/Vista/7/8/10/11

Teste Grátis

Para macOS X 10.10 - macOS 13

Passo 1: Abra a ferramenta de recuperação de dados do Linux após a instalação e navegue até a opção de NAS e Linux no lado esquerdo da interface principal. A partir daí, clique no botão Recuperação do Linux para iniciar o processo de recuperação de dados.

selecione a opção de recuperação do linux

Passo 2: Uma nova janela será exibida, exigindo que você insira as informações necessárias para a conexão remota. Após preencher as informações, inicie a conexão clicando no botão Conectar.

recuperar arquivos através de conexão remota

Passo 3: Após uma conexão bem-sucedida, o Recoverit iniciará uma verificação automatizada para procurar por arquivos ausentes no dispositivo Linux. Assim que o arquivo desejado for localizado, a verificação pode ser interrompida e o arquivo restaurado.

digitalize seu computador linux com o recoverit

Passo 4: Depois que a verificação for concluída, Pré-visualize os arquivos para garantir que sejam os desejados para recuperação. Em seguida, pressione o botão Recuperar para salvar os arquivos.

recuperar arquivos apagados no linux

Este software alternativo ao debugfs solicitará que você selecione a pasta de destino para salvar seus arquivos recuperados. Inicie o processo de recuperação clicando no botão Recuperar. Para melhores práticas, sugere-se escolher um local diferente do original para salvar os arquivos recuperados.

recuperar arquivos apagados no linux
Teste Grátis

Para Windows XP/Vista/7/8/10/11

Teste Grátis

Para macOS X 10.10 - macOS 13

Conclusão:

Quando se trata de recuperar arquivos excluídos no Linux, o debugfs oferece uma solução poderosa para usuários experientes. Ainda assim, para aqueles que procuram uma opção mais acessível, o Wondershare Recoverit para recuperação de Linux é uma ótima escolha. Simplifica o processo de recuperação e garante resultados bem-sucedidos, tornando-se uma solução confiável para perda de dados.